···
#include <>
#include <>
#define MAXSIZE 100//线性表的最大长度
typedef struct
{
int *elem;
int length;//线性表的当前长度
//int maxlength;//线性表的最大长度
}SqList;
SqList q;
int i,k;
//初始化函数
void initSqList(SqList& l)
{
=(int*)malloc(sizeof(int)*MAXSIZE);
=0;
printf("请输入你要插入线性表的元素个数:");
int n;
scanf("%d\n",&n);
while(n<=0||n>MAXSIZE)
{
printf("元素个数不符合线性表的要求请重新输入:");
scanf("%d\n",&n);
}
for(int i=0;i<n;i++)
{
scanf("%d",&[i]);
++;
}
}
void printSqList(SqList& l)
{
for(int i=0;i<;i++)
{
printf("%d ",[i]);
}
printf("\n");
}
//查找函数
void getelem(SqList& l,int i,int& e)
{
e=[i-1];
}
//插入函数
void insertSqList(SqList& l,int i,int e)
{
for(int j=-1;j>=i-1;j--)
{
[j+1]=[j];
}
[i-1]=e;
++;
}
//删除函数
void deleteSqList(SqList& l,int i)
{
for(int j=i;j<;j++)
{
[j-1]=[j];
}
--;
}
//判断表是否为空
int listempty(SqList& l)
{
if(==0)
{
return 0;
}
else
{
return 1;
}
}
void a()
{
printf("输入你要查找的元素的位置:");
int i,k;
scanf("%d",&i);
while(i>||i<=0)
{
printf("你输入的位置不合法请重新输入:");
scanf("%d",&i);
}
getelem(q,i,k);
printf("%d\n",k);
}
void b()
{
printf("输入你要插入的位置:");
scanf("%d",&i);
while(i>+1||i<=0)
{
printf("你输入的位置不合法请重新输入:");
scanf("%d",&i);
}
printf("输入你要插入的元素:");
scanf("%d",&k);
insertSqList(q,i,k);
printSqList(q);
}
void c()
{
printf("请输入你要删除的元素的位置:");
scanf("%d",&i);
while(i<=0||i>)
{
printf("你输入的位置不合法请重新输入:");
scanf("%d",&i);
}
deleteSqList(q,i);
printSqList(q);
}
void d()
{
if(listempty(q))
{
printf("false\n");
}
else
{
printf("true\n");
}
}
int main()
{
initSqList(q);
while(1)
{
printf("\n");
printf("1查找\n");
printf("2显示线性表元素\n");
printf("3插入元素\n");
printf("4删除元素\n");
printf("5判断线性表是否为空\n");
printf("选择功能序号:");
int t;
scanf("%d",&t);
switch(t)
{
case 1:a();break;
case 2:printSqList(q);break;
case 3:b();break;
case 4:c();break;
case 5:d();break;
}
}
return 0;
}
···