|
5鱼币
- #include <stdio.h>
- #include <stdbool.h>
- #define MAXSize 100
- typedef int ElemType;
- //描述顺序存储结构
- typedef struct{
- ElemType data[MAXSize];
- int length;
- }SqList;
- //初始化
- void Initlist(SqList &L){
- L.length=0;
- }
- bool ListEmpty(SqList L) {
- return L.length == 0;
- }
- //插入操作
- bool ListInsert(SqList &L,int i,ElemType e){
- if(i<1||i>L.length+1||L.length == MAXSize)
- return false;
- for(int j=L.length;j>=i;j--){
-
- L.data[j]=L.data[j-1];}
- L.data[i-1]=e;
- L.length++;
- return true;
- }
- //删除操作
- bool ListDelete(SqList &L,int i,ElemType &e) {
- if(i<1||i>L.length);
- return false;
- e=L.data[i-1];
- for(int j=i;j<L.length;j++)
- L.data[j-1]=L.data[j];
- L.length--;
- return true;
- }
- //按值查找
- bool LocateElem(SqList L,ElemType e){
- int i;
- for(i=0;i<L.length;i++){
-
- if(L.data[i]==e)
- return i+1;
- }
- return 0;
- }
- //主函数
- int main(){
- SqList myList;
- ElemType e;
- bool result;
-
- void Initlist(SqList &myList);
- printf("初始化列表\n",myList);
-
- result = ListEmpty(myList);
- printf("列表是否为空: %s\n", result ? "是" : "否");
-
- // 插入元素
- for (int i = 1; i <= 5; i++) {
- result = ListInsert(SqList &myList, i, i * 10);
- printf("在位置 %d 插入元素 %d,结果: %s\n", i, i * 10, result ? "成功" : "失败");
- }
-
- // 查找元素位置
- int pos = LocateElem(SqList myList, 20);
- printf("元素 20 的位置是:%d\n", pos);
- // 删除第3个元素
- result = ListDelete(SqList &myList, 3, &e);
- if (result) {
- printf("删除第3个元素,删除的元素是:%d\n", e);
- } else {
- printf("删除第3个元素失败。\n");
- }
- return 0;
- }
复制代码
|
-
|