|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 最强废铁h 于 2021-10-20 23:29 编辑
就是编译不成功,出错的地方看不懂,百度好像也没有
- #include<stdio.h>
- #include<malloc.h>
- #define MAXLEN 100
- typedef char DataType;
- typedef struct
- {
- DataType data[MAXLEN];
- int Length;
- }SeqList;
- SeqList L;
- void InitList(SeqList *L)
- {
- L=(SeqList *)malloc(sizeof(SeqList));
- L->Length = 0;
- }
- void destroyList(SeqList *L)
- {
- free(L);
- }
- //位置查找
- int GetElem(SeqList *L,int i,DataType *x)
- {
- if(i<1||i>L->Length)
- return 0;
- else
- {
- *x=L->data[i-1];
- return 1;
- }
- }
- //按值查找
- int Locate(SeqList *L,DataType x)
- {
- int i=0;
- while(i<L->Length && L->data[i]!=x)
- i++;
- if(i>=L->Length)
- return 0;
- else
- return i+1;
- }
- //插入
- int InsElem(SeqList *L,int i,DataType x)
- {
- int j;
- if(L->Length>=MAXLEN)
- {
- printf("顺序表已满!");
- return -1;
- }
- if(i<1||i>=L->Length+1)
- {
- printf("插入位置出错!");
- return 0;
- }
- if(i==L->Length+1)
- {
- L->data[i-1]=L->data[j];
- L->Length++;
- return 1;
- }
- for(j=L->Length-1;j>=i-1;j--)
- {
- L->data[j+1]=L->data[j];
- L->data[i-1]=x;
- L->Length++;
- return 1;
- }
- }
- //删除
- int DelElem(SeqList *L,int i,DataType *x)
- {
- int j;
- if(L->Length>=0)
- {
- printf("顺序表为空!");
- return -1;
- }
- if(i<1||i>=L->Length+1)
- {
- printf("不存在第i个元素!");
- return 0;
- }
- *x=L->data[i-1];
- for(j=i;j<L->Length;j++)
- {
- L->data[j-1]=L->data[j];
- L->Length--;
- return 1;
- }
- }
- //输出
- void DispList(SeqList *L)
- {
- int i;
- for(i=0;i<L->Length;i++)
- {
- printf("%5d",L->data[i]);
- }
- }
- main()
- {
- SeqList *L;
- printf("依次插入a,b,c,d,e元素\n");
- InsElem(L,1,'a');
- InsElem(L,2,'b');
- InsElem(L,3,'c');
- InsElem(L,4,'d');
- InsElem(L,5,'e');
- printf("输出顺序表L:");
- DispList(L);
- printf("输出顺序表L的长度:%d\n",getLength(L));
- printf("顺序表L为%s\n",(Listempty(L)?"空":"非空"));
- GetElem(L,3,&x);
- printf("顺序表L的第3个元素:%c\n",x);
- printf("元素a的位置:%d\n",Locate(L,'a')) ;
- InsElem(L,4,'f');
- DispList(L);
- DelElem(L,3,&x);
- DispList(L);
- destroyList(L);
- return 0;
- }
复制代码 |
-
报错是这样的
-
代码要求
|