描述
要求实现一个函数,在递增的整数序列链表(带头结点)中插入一个新整数,并保持该序列的有序性。
其中单链表的结构定义如下:
typedef struct LNode //定义单链表节点结构体
{
ElemType data; //数据域
struct LNode *next; //指向后继节点
} LinkList;
函数接口定义:
void ListInsert(LinkList *&L, ElemType e);
输入
三行
行1 结点个数
行2 具体的节点数据值
行3 插入结点数据值
输出
有序链表数据值
输入样例 1
5 1 2 4 5 6 3
输出样例 1
1 2 3 4 5 6
求助,实在不太会这个问题,谢谢!
差不多就是这个样子吧
void ListInsert(LinkList *&L, int e){
LinkList *pre, *tmp;
tmp = (LinkList *)malloc(sizeof(LinkList));
pre = (*L);
while(pre->next != NULL){
if(e > pre->next->data)
pre = pre->next;
else
break;
}
tmp->data = e;
tmp->next = pre->next;
pre->next = tmp;
}