编写算法,在一个有5个元素的顺序表中,在元素值为x的元素后,连续插入两个新元素
将x之后的值都后移两位,然后将新值写入x的后两位
typedef struct _seqlist
{
int data[100];
int n;
}seqlist;
seqlist s;
s.n = 0;
void insert(int x,int a,int b)
{
for(int i=0;i<s.n;i++)
{
if(s.data[i] == x)
{
for(int j=s.n+1;j>i+1;j--)
s.data[j] = s.data[j-2];
s.data[i] = a;
s.data[i+1] = b;
s.n += 2;
break;
}
}
}
int main()
{
for(int i=0;i<4;i++)
s.data[s.n++] = i;
insert(3,10,20);
return 0;
}
可以使用链表结构,编写链表,然后根据位置插入数据
也可以使用数组,总之先确定主体结构,再编写插入方法