顺序存储、插入操作
题目
【问题描述】创建一个数据类型为整形的顺序结构的线性表完成输入,插入以及输出功能【输入形式】先输入元素个数 再输入数据 输入插入的位置 插入元素【输出形式】输出线性表【样例输入】31 2 32 4【样例输出】1 4 2 3
#include <stdio.h>
#include <stdlib.h>
typedef struct SeqList
{
int data[100];
int length;
} SeqList;
void CreateList(SeqList *L,int n,int a[])
{
L->length=0;
for(int i=0;i<n;i++)
{
L->data[i]=a[i];
L->length++;
}
}
void InsertList(SeqList *L,int pos,int e)
{
for(int i=L->length;i>pos-1;i--)
{
L->data[i]=L->data[i-1];
}
L->data[pos-1]=e;
L->length++;
}
void PrintList(SeqList *L)
{
for(int i=0;i<L->length;i++)
{
printf("%d",L->data[i]);
}
}
int main()
{
SeqList L;
int n;
scanf("%d",&n);
int a[100];
for(int i=0;i<n;i++ )
{
scanf("%d",&a[i]);
}
CreateList(&L,n,a);
int pos,elem;
scanf("%d %d",&pos,&elem);
InsertList(&L,pos,elem);
PrintList(&L);
return 0;
}