问题
问答题
设顺序表中的数据元素递增有序,编写一算法将元素X插入到顺序表的适当位置上,并保证该表的有序性。
答案
参考答案:只要从终端结点开始往前找到第一个比X小(或相等)的结点数据,在这个位置插入就可以了。算法描述如下:
SqList*Insert—SqList(SqList*L,int i,Elemtype x)
{
if((i<1)‖(i>L—>length+1))
{
printf(“插入位置不合理”);exit(l);
}
if(L—>length>—L—>MaxSize—1)
print{(“顺序表已满,不能再插入!”);exit(l);
}
{or(m—L—>length—1;m>=i—1;——m)
L—>data[m+1]=L—>data[m];
L—>data[i—1]=x;
L—>length++:
return L;
}