请给出单链表的类c语言描述的数据结构的定义,并设计算法在一个带头结点的有序

请给出单链表的类c语言描述的数据结构的定义,并设计算法在一个带头结点的有序单链表中插入一个结点,插入后保持有序

#include<malloc.h>
struct node
{
int n;
struct node *next;
}

main()
{
struct node *head,*p,*q,*r;
int n,m,i=0;
head=(struct node*)malloc(sizeof(struct node));//申请头结点
q=(struct node*)malloc(sizeof(struct node));//申请最后一个节点
head->next=q;//先链接头尾
q->next=NULL;
p=q;
printf("请输入节点个数!\n");
scanf("%d",&n);
printf("请输入节点值!\n");
scanf("%d",&q->n);
//通过循环将结点链接起来
while(i<n-1)
{
q=(struct node*)malloc(sizeof(struct node));
scanf("%d",&q->n);
head->next=q; //链接在头结点后面
q->next=p;//指向前一个节点
p=q;
i++;
}
r=head->next;
while(r!=NULL)
{
printf("%d\n",r->n);
r=r->next;
}
}
温馨提示:答案为网友推荐,仅供参考
相似回答