Status Insert_SqList(SqList &va, ElemType x)//把 x 插入递增有序表 va 中
{
ElemType *newbase;
if (va.length >= va.listsize)
{
if (!(newbase = (ElemType *)realloc(va.elem, (va.listsize + INCREMENT)
* sizeof(ElemType))))
exit(-1);
va.elem = newbase;
va.listsize += INCREMENT;
}
for (int i = 0; i < L.length; i++)
{
if (va.elem[i] >= x)
{
for (int j = L.length; j >= i; j--)
va.elem[j] = va.elem[j - 1];
va.length += 1;
va.elem[i] = x;
break;
}
}
}//Insert_SqList
3. 编写算法实现带头结点单链表 head 的就地逆置。
void LinkList_reverse(Linklist &L)//链表的就地逆置;为简化算法,假设表长大于 2
{
LinkList p,q;
p=L->next;
L->next=NULL;
while(p != NULL){
q=p;
p=p->next;
q->next=L->next;
L->next=q;
}
}//LinkList_reverse
4. 一个非递减有序表存放在一个带头结点的单链表中,如下图所示。输入一个 X 值,将其
插入到适当的位置,使链表中的数据仍然非递减有序。