c语言顺序表创建,插入,删除,若有错误,请大佬指正
在这里插入代码片
```#include "stdio.h"
#define max 10
typedef struct
{
int data[max];
int length;
}sss;
void Init(sss *l)
{
l->length=0;
}
int Creat(sss *l,int a[],int n)
{
if(n>max)
{
printf("错误\n");
return 0;
}
int j;
for(j=0;j<n;j++)
{
l->data[j]=a[j];
}
l->length=n;
return 0;
}
int Insert(sss *l,int i,int x)
{
if(l->length>max)
{
printf("表满\n");
return 0;
}
if(i<1||i>l->length)
{
printf("错误\n");
return 0;
}
int j;
for(j=l->length;j>i;j--)
{
l->data[j]=l->data[j-1];
}
l->data[i]=x;
l->length++;
return 0;
}
int Delete(sss *l,int i)
{
if(i<1||i>l->length)
{
printf("错误\n");
return 0;
}
int j;
for(j=i;j<l->length;j++)
{
l->data[j-1]=l->data[j];
}
l->length--;
return 0;
}
int main()
{
int i;
int a[5];
printf("请输入线性表元素:\n");
for(i=0;i<5;i++)
{
scanf("%d",&a[i]);
}
sss l;
Init(&l);
Creat(&l,a,5);
printf("线性表:\n");
for(i=0;i<l.length;i++)
printf("%d\t",l.data[i]);
Insert(&l,2,100);
printf("\n");
printf("插入一个元素:\n");
for(i=0;i<l.length;i++)
printf("%d\t",l.data[i]);
Delete(&l,2);
printf("\n");
printf("删除一个元素:\n");
for(i=0;i<l.length;i++)
printf("%d\t",l.data[i]);
return 0;
}