原创 链表的顺序插值

2010-1-18 18:02 3209 8 8 分类: 软件与OS

#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;


     }


}


1ac82252-24fd-4923-b67b-e3efaaca9ae0.jpg

文章评论0条评论)

登录后参与讨论
我要评论
0
8
关闭 站长推荐上一条 /2 下一条