由于本蒟蒻水平有限,对于出现的错误请各位大佬联系我纠正,谢谢!
另外不要原封不动的照抄,让我被Ban以后就不更了,哼哼!
还有这本数据结构明明写的是c语言,却用&不用*,&是C++的引用,请大家自行查阅。
1. 设顺序表 a 中的数据元素递增有序。试写一算法,将 x 插入到顺序表的适当位置上,以保持该表的有序性。
void InsertOrderList( SqList &a, ElemType x)
// 已知顺序表 a 中的数据元素递增有序,将 x 插入到顺序表的适当位置上,
// 以保持该表的有序性。
void InsertOrderList( SqList &a, ElemType x)
{
if(a.length>=a.listsize)
{
newbase=(ElemType*)realloc(a.elem,(a.listsize+LISTINCREMENT)*sizeof(ElemType));
if(!newbase) exit(OVERFLOW);
a.elem=newbase;
a.listsize+=LISTINCREMENT;
}
int i;
for(i=0;i<a.length;i++)
if(x>=a.elem[i])
break;
for(int j=a.length;j>i;j--)
a.elem[j]=a.elem[j-1];
a.elem[i]=x;
a.length++;
}
3. 已知线性表中的元素以值递增有序排列,并以单链表作存储结构。试写一高效的算法,删除表中所有值大于 mink 且小于 maxk 的元素 (若表中存在这样的元素)同时释放被删结点空间。(注意:mink