数据结构 顺序表插入问题?

来源:百度知道 编辑:UC知道 时间:2024/05/18 01:01:16
写一个顺序表的插入问题,帮写代码?
完整的,题目是:线性表的插入运算是指在表的第i(1<=i<=n+1)个位置上,插入一个新节点x,使长度为n的线性表:(a1,...ai-1,ai,...an)
变成长度为n+1的线性表:(a1,...,ai-1,x,ai,...an)
谢谢帮忙!

#define MAXLEN 100

typedef struct
{
int data[MAXLEN];
int n;
}T;

int Insert(T *S,int i,int x)
{
int j;
if(S->n==MAXLEN)return 0;
for(j=n;j>i;j--)
S->data[j]=S->data[j-1];
S->data[i-1]=x;
S->n++;
return 1;
}

主要就是要把你要添加位置和它以后的每个元素向后移一位(要保证后面有可用的内存),然后把新的结点添加在合适的位置