1.链表的插入//插入一个确定得数
#include<stdio.h>
#include<stdlib.h>
struct node
{
int data;
struct node *next;
};
int main(void)
{
int n,i,j,k;
scanf("%d",&n);
struct node *head,*p,*q,*t;
head=NULL;
while(n--)
{
scanf("%d",&k);
p=(struct node *)malloc(sizeof(struct node));
p->data=k;
p->next=NULL;
if(head==NULL)
{
head=p;
}
else
{
q->next=p;
}
q=p;
}
scanf("%d",&k);/相比于链表的创建只是多了这一部分代码
p=(struct node *)malloc(sizeof(struct node));
p->data=k;
t=head;
while(t!=NULL)
{
if(t->next->data>k)
{
p->next=t->next;/这两行代码顺序顺序相当重要
t->next=p;//新结点的下个指向指向大于插入数的地址,t的下个指向被p取代
break;/相当重要,不能忘记,没有它无法输出
}
}
t=head;
while(t!=