#include<stdio.h>
typedef struct student
{
int num;
struct student *next;
}
node *creat()
{
int n;
node *head,*previous,*current;
head=NULL;
head=(node *)malloc(sizeof(node));
previous = head;
while(1)
{
printf("please input:/n");
scanf("%d",&n);
if(n==0)
{
printf("/n");
break;
}
current=(node *)malloc(sizeof(node));
previous->next = current;
current->num =n;
previous = current;
}
current->next=NULL;
return head;
}
void print(node *head)
{
node *move;
move=head;
move=move->next;
while(move!= NULL)
{
printf("%d/n",move->num);
move=move->next;
}
}
node *insert(node *head,int x)
{
node *current,*save,*creat;
save = head;
current=save->next;
creat = (node *)malloc(sizeof(node));
creat->num = x;
while ( ( (current->next)!=NULL) && ( creat->num > current->num) )
{
save=current;
current = current->next;
}
if(current->next == NULL)
{
current->next=creat;
creat->next=NULL;
current=creat;
}
else
{
save->next = creat;
creat->next = current;
}
return head;
}
node *del(node *head,int x)
{
node *save,*current;
save=head;
current=save->next;
while( (current!=NULL)&&(current->num !=x) )
{
save = current;
current = current->next;
}
if(current==NULL)
{
printf("do not exit/n");
}
else
{
save->next = current->next;
free(current);
}
return head;
}
int main()
{
node *m,*n,*z;
int x;
m=creat();
printf("please input what you want to insert:/n");
scanf("%d",&x);
n=insert(m,x);
// printf("please input what you want to delete:/n");
// scanf("%d",&x);
// z=del(m,x);
print(n);
return 0;
}