问题 问答题

设顺序表L是一个递减有序表,试写一算法,将x插入其后仍保持L的有序性。

答案

参考答案:只要从终端结点开始往前找到第一个比x大(或相等)的结点数据,在这个位置插入就可以了。算法描述如下:
int InsertDecreaseList(SqList*L,elemtype x)
{ int i;
if((*L). len>=maxlen)
{printf("over flow");
return(0);
}
for(i=(*L). len; i>0&&(*L). elem[i-1]<x; i--)
(*L). elem[i]=(*L). elem[i-1]; //比较并移动元素
(*L). elem[i]=x;
(*L). len++;
return(1);
}

名词解释
单项选择题