1.单链表的应用
1.编写算法,利用原有空间,将带头结点的单链表L就地逆置。
//单链表原位逆置
void reverse( LinkList L )
{ Node *p, *q;
p = L->next; /*p指向第一个结点*/
L->next = NULL; /*将原链表置为空表*/
while (p)
{ q = p; /*取下原链表的当前结点*/
p = p->next; /*p指针下移*/
q->next = L->next;
L->next = q; /*修改头结点指针*/
}
}
2.假设数据元素升序排列的单链表L,试设计算法在表中插入一个值为x的新结点,并使链表保持升序性质不变。
//插入后仍未升序
void InsertDataSet( LinkList L )
{ Node *p = L, *q;
elemtype x;
printf("请输入插入内容:");
scanf("%d",&x);
while( p->next && p-&g