#include<stdio.h>
#define MAXSIZE 100
typedef int ElemType;
typedef struct{
ElemType date[MAXSIZE];
int length;
}SeqList;
void initList(SeqList *L)
{
L->length=0;
}
int appendElem(SeqList *L,ElemType e)
{
if(L->length>=MAXSIZE)
{
printf("顺序表已满\n");
return 0;
}
L->date[L->length]=e;
L->length++;
return 1;
}
void listElem(SeqList *L)
{
for(int i=0;i<L->length;i++)
{
printf("%d",L->date[i]);
}
printf("\n");
}
int insertElem(SeqList *L,int pos,ElemType e)
{
if(pos<=L->length)
{
for(int i=L->length-1;i>=pos-1;i--)
{
L->date[i+1]=L->date[i];
}
L->date[pos-1]=e;
L->length++;
}
return 1;
}
int deleteElem(SeqList *L, int pos, ElemType *e)
{
*e=L->date[pos-1];
if(pos<L->length)
{
for(int i=pos;i<L->length;i++)
{
L->date[i-1]=L->date[i];
}
}
L->length--;
return 1;
}
int findElem(SeqList *L, ElemType e)
{
for(int i=0;i<L->length;i++)
{
if(L->date[i]==e)
{
return i+1;
}
}
return 0;
}
int main(int agrc, char const *argv[])
{
SeqList list;
initList(&list);
printf("初始化成功,目前长度占用%d\n",list.length);
printf("目前占用内存%zu字节\n",sizeof(list.date));
appendElem(&list,88);
appendElem(&list,67);
appendElem(&list,40);
appendElem(&list,8);
appendElem(&list,23);
listElem(&list);
insertElem(&list,1,18);
listElem(&list);
ElemType delDate;
deleteElem(&list,2,&delDate);
printf("被删除的数据为:%d\n",delDate);
listElem(&list);
printf("%d\n",findElem(&list,40));
return 0;
}