原题:有一个有序单链表(从小到大有序),表头指针为 L ,编写一个函数向该单链表中插入一个元素为 a 的结点,使插入后链表仍然有序。
说明:以下程序先自动生成一个从小到大有序链表,然后要求输入插入结点的数据,再用函数int InSnode(LinkList &L)来实现插入操作,该函数为实现插入操作的核心。
说明:以下程序先自动生成一个从小到大有序链表,然后要求输入插入结点的数据,再用函数int InSnode(LinkList &L)来实现插入操作,该函数为实现插入操作的核心。
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#include<conio.h>
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*LinkList;
int DisplayList(LinkList L)//输出链表中的数据域的值
{
if(L == NULL)
{
printf("链表为空!\n");
return -1;
}
printf("当前链表的数据为:\n");
LinkList p=L;
while(p->next!=NULL)
{
printf("%d->",p->data);
p=p->next;
}
printf("%d\n\n",p->data);
return 1;
}
int Create(LinkList &L)// 生成链表的函数定