1、建立单链表
     
假设线性表中结点的数据类型是字符,我们逐个输入这些字符型的结点,并以换行符'\n'为输入条件结束标志符。动态地建立单链表的常用方法有如下两种:

(1) 头插法建表
① 算法思路
     从一个空表开始,重复读入数据,生成新结点,将读入数据存放在新结点的数据域中,然后将新结点插入到当前链表的表头上,直到读入结束标志为止。
  

     具体方法【参见动画演示
注意:
     该方法生成的链表的结点次序与输入顺序相反。

② 具体算法实现
    

 1 LinkList CreatListF(void)
2 {//返回单链表的头指针
3 char ch;
4 LinkList head;//头指针
5 ListNode *s; //工作指针
6 head=NULL; //链表开始为空
7 ch=getchar(); //读入第1个字符
8 while(ch!='\n'){
9 s=(ListNode *)malloc(sizeof(ListNode));//生成新结点
10 s->data=ch; //将读入的数据放入新结点的数据域中
11 s->next=head;
12 head=s;
13 ch=getchar(); //读入下一字符
14 }
15 return head;
16 }

 

posted on 2011-12-07 00:08  风行雪舞  阅读(230)  评论(0编辑  收藏  举报
无觅相关文章插件,快速提升流量