#include <stdio.h>
#include <stdlib.h>
typedef struct NODE
{
int data;
struct NODE *next;
}Node;
Node * create_linklist(int n)
{
Node *head=NULL,*p,*last;
int d;
int i;
for(i=0;i<n;i++)
{
scanf("%d",&d);
p=(Node *)malloc(sizeof(Node));
p->data=d;
p->next=NULL;
if(head==NULL)
head=p;
else
last->next=p;
last=p;
}
return head;
}
Node *insert_node(Node *head,int b)
{
Node * pre1=head,*pre2,*p;
p=(Node*)malloc(sizeof(Node));
p->data=b;
if(head==NULL)
{
head=p;
p->next=NULL;
}
else if(p->data<head->data)
{
head=p;
p->next=pre1;
}
else
{
while(pre1!=NULL&&p->data>=pre1->data)
{
pre2=pre1;
pre1=pre1->next;
}
p->next=pre2->next;
pre2->next=p;
}
return head;
}
void print(Node * head)
{
Node *p;
p=head;
while(p!=NULL)
{
printf("%-5d",p->data);
p=p->next;
}
printf("\n");
return;
}
int main()
{
Node *head;
head=create_linklist(6);
int b=90,i;
head=insert_node(head,b);
print(head);
return 0;
}
链表的创建和插入
最新推荐文章于 2023-01-16 20:46:09 发布