用win-tc编译的,输了不知道怎么回事,界面就没了。
题目是:
1.实现带头结点的单链表的创建。
2.已知带头结点的单链表L中的结点是按整数值递增排列,设计算法并实现将值为x的结点插入到表L中,使得L仍然有序。
3.实现输出单链表中各结点的值。
#include<stdio.h>
typedef int elemtype;
typedef struct node
{
elemtype data;
struct node*next;
}linklist;
linklist*InitList(linklist*L)
{
L=(linklist*)malloc(sizeof(linklist));
L->next=NULL;
return(L);
}
linklist*Creatlist(int n)
{
int x,i;
linklist *L,*r,*p;
InitList(L);
r=L;
printf("please input 10 num(according to the integer value increasing):\n");
for(i=1;i<=10;i++)
{
scanf("%d",&x);
p=(linklist *)malloc(sizeof(linklist));
p->data=x;
p->next=L->next;L->next=p;
}
return(L);
}
insert(linklist*L,elemtype x)
{
linklist*p,*t;
p=L->next;
t=(linklist*)malloc(sizeof(linklist));
t->data=x;
while(p)
{
if(((t->data)>(p->data))&&((t->data)<(p->next->data)))
{t->next=p->next;
p->next=t;}
else
{p++;}
}
return 1;
}
output(linklist*L)
{
linklist *p;
p=(linklist*)malloc(sizeof(linklist));
p=L->next;
printf("\noutput numbers:\n");
while(p)
{printf("%d ",p->data);
p++;
}
}
void main()
{
int n,x;
linklist *L;
L=(linklist*)malloc(sizeof(linklist));
InitList(L);
Creatlist(n);
printf("please input:\n");
scanf("%d",&x);
insert(L,x);
output(L);
getch();
}
题目是:
1.实现带头结点的单链表的创建。
2.已知带头结点的单链表L中的结点是按整数值递增排列,设计算法并实现将值为x的结点插入到表L中,使得L仍然有序。
3.实现输出单链表中各结点的值。
#include<stdio.h>
typedef int elemtype;
typedef struct node
{
elemtype data;
struct node*next;
}linklist;
linklist*InitList(linklist*L)
{
L=(linklist*)malloc(sizeof(linklist));
L->next=NULL;
return(L);
}
linklist*Creatlist(int n)
{
int x,i;
linklist *L,*r,*p;
InitList(L);
r=L;
printf("please input 10 num(according to the integer value increasing):\n");
for(i=1;i<=10;i++)
{
scanf("%d",&x);
p=(linklist *)malloc(sizeof(linklist));
p->data=x;
p->next=L->next;L->next=p;
}
return(L);
}
insert(linklist*L,elemtype x)
{
linklist*p,*t;
p=L->next;
t=(linklist*)malloc(sizeof(linklist));
t->data=x;
while(p)
{
if(((t->data)>(p->data))&&((t->data)<(p->next->data)))
{t->next=p->next;
p->next=t;}
else
{p++;}
}
return 1;
}
output(linklist*L)
{
linklist *p;
p=(linklist*)malloc(sizeof(linklist));
p=L->next;
printf("\noutput numbers:\n");
while(p)
{printf("%d ",p->data);
p++;
}
}
void main()
{
int n,x;
linklist *L;
L=(linklist*)malloc(sizeof(linklist));
InitList(L);
Creatlist(n);
printf("please input:\n");
scanf("%d",&x);
insert(L,x);
output(L);
getch();
}

