单链表的运算 建立单链表 假设线性表中结点的数据类型是字符我们逐个输入这些字符型的结点并以换行符\n为输入条件结束标志符动态地建立单链表 的常用方法有如下两种 () 头插法建表 ① 算法思路 从一个空表开始重复读入数据生成新结点将读入数据存放在新结点的数据域中然后将新结点插入到当前链表的表头上直到读 入结束标志为止 具体方法【 参见动画演示 】 注意 该方法生成的链表的结点次序与输入顺序相反 ② 具体算法实现 LinkList CreatListF(void) {//返回单链表的头指针 char ch; LinkList head;//头指针 ListNode *s; //工作指针 head=NULL; //链表开始为空 ch=getchar(); //读入第个字符 while(ch!=\n){ s=(ListNode *)malloc(sizeof(ListNode));//生成新结点 s>data=ch; //将读入的数据放入新结点的数据域中 s>next=head; head=s; ch=getchar(); //读入下一字符 } return head; } |