#include<stdio.h>
#include<malloc.h> //输入 8 7 6 4$5 输出 4 5 6 7 8
typedef char datatype;
typedef struct node //定义节点类型
{ datatype data;
struct node *next;
}linklist;
insert(linklist *l,datatype x) // 插入值的子函数
{linklist *p,*q,*s;
p="l";
while((p!=NULL)&&(x>=p->data)) //判断大小
{ q="p";
p="p-">next;
}
s="malloc"(sizeof(linklist));
s->data=x; //赋值
q->next=s; //插入节点
s->next=p;
}
main()
{
char ch;
linklist *head,*r; // 头插发建立链表
head=NULL;
printf("shuru lianbiao de jiedian he yao cha ru de zhi:\n");
ch="getchar"();
while(ch!='$') // 输入以$结尾
{
r=malloc(sizeof(linklist));
r->data=ch;
r->next=head;
head="r";
ch="getchar"();
}
ch="getchar"();
insert(head,ch); // 调用子函数
r=head;
printf("now show the answer:\n");
while(r!=NULL)
{printf("%c\n",r->data); //输出链表
r="r-">next;
}
}
文章评论(0条评论)
登录后参与讨论