#include "stdio.h"
#include "stdlib.h"
#define ElemType int
typedef int ElemTYpe;
#define listsize 20
typedef struct{
ElemType data[listsize];
int length;
}Sqlist;
void createlist(Sqlist *l,int n);
void printlist(Sqlist *l);
void locateElem(Sqlist *l);
void listinsert(Sqlist *l);
void listdelete(Sqlist *l);
int main()
{
int n;
int i=0;
Sqlist l;
l.length=0;
printf("请输入顺序线性表的长度:\n");
scanf("%d",&n);
createlist(&l,n);
printlist(&l);
locateElem(&l);
listinsert(&l) ;
listdelete(&l);
return 0;
}
void createlist(Sqlist *l,int n)
{
printf("请输入顺序表元素:\n");
for(int i=0;i<n;i++)
{
scanf("%d",&l->data[i]);
l->length=n;
}
}
void printlist(Sqlist *l)
{
printf("打印顺序表如下:\n");
for(int i=0;i<l->length;i++)
{
printf("%d ",l->data[i]);
}
}
void locateElem(Sqlist *l)
{
int n;
printf("请输入你要查找的元素:\n");
scanf("%d",&n);
for(int i=0;i<l->length+2;i++)
{
if(l->data[i]==n)
{
printf("你要查找的元素的位置为:%d\n",i);
break;
}
if (i==l->length)
{
printf("没有你要查找的元素!\n");
}
}
}
void listinsert(Sqlist *l)
{
int n,i,m;
printf("请输入你要插入的元素:\n");
scanf("%d",&n);
printf("请输入你要插入的位置:\n");
scanf("%d",&i);
for(int j=l->length;j>=i;j--)
{
l->data[j+1] =l->data[j];
}
l->data[i]= n;
l->length++;
printf("打印新顺序表:\n");
printlist(l);
}
void listdelete(Sqlist *l)
{
int i;
printf("请输入你要删除元素的位置:\n");
scanf("%d",&i);
for(int j=i;j<=l->length-1;j++)
{
l->data[j] =l->data[j+1];
}
l->length--;
printf("打印新顺序表:\n");
printlist(l);
}