严蔚敏《数据结构(c语言版)习题集习题答案
源代码在线查看: 2.11.txt
2.11② 设顺序表L中的数据元素递增有序。
试写一算法,将x插入到L的适当位置上,并保
持该表的有序性。
要求实现下列函数:
void InsertOrderList(SqList &L, ElemType x)
/* 在有序的顺序表 L 中保序插入数据元素 x */
顺序表类型定义如下:
typedef struct {
ElemType *elem;
int length;
int listsize;
} SqList;
Status InsertOrderList(SqList &L, ElemType x)
// 在有序的顺序表 L 中保序插入数据元素 x
{ int i,j;
if(L.length>=L.listsize) return (OVERFLOW);
else{
i=L.length-1;
while(i>=0&&x for(j=L.length-1;j>=i+1;j--)
L.elem[j+1]=L.elem[j];
L.elem[i+1]=x;
L.length++;
return OK;
}
}