
实训二钅链表的操作一、实训目的1、通过实训,掌握链表的输入与输出2、通过实训,掌握链表的基本操作二、实训内容1、建立自己的有关链表的头文件2、练习链表的输入与输出3、练习链表的基本操作的实现4、练习链表基本操作的应用三、实训前的准备1、复习相关课程内容,理解并掌握链表基本操作算法2、准备相关的程序清单3、阅读实训指导书四、实训步骤与方法(一)、理解并运行下面的程序将用户输入的数据按头插入法建立一个带头结点的单链表。输入结点数据时以输入一串字符的方式实现,$字符为结束输入字符。"datastru.h"#include#include#includeint count_head(LINKLIST*head)(/*带头结点的单链表:输出单链表元素值并计数*int I = O;

LINKLIST *p:p = head->next;printf(“输出单链表元素值:“);while(p != NULL)(printf("%c",p->data);I++:p =p->next:1printf(“\n");return I:1LINKLIST *creatlink head head(LINKLIST *head)/*用头插入法建立带头结点的单链表*/LINKLIST*t;char ch;t = (LINKLIST *)malloc(sizeof(LINKLIST)) :head = t;t->next = NULL;printf(“单链表元素值为单个字符,连续输入,$为结束字符:“);while((ch=getcharO)!=‘s")(t = (LINKLIST *) malloc(sizeof(LINKLIST)):t->data = ch;t->next = head->next;head->next = t;1

return (head):1main(){ LINKLIST *head = NULL;int num;printf(“In建立单链表\n|n”);head = creatlink_head_head(head) :fflush(stdin);num = count_head(head) :printf(“单链表元素个数=%d\n”,num);1运行情况如下:输入:输出:(二)、建立自已的头文件mylinklist.h,内容包括单链表数据结构的说明,链表的建立与输出、插入与删除操作等要求:程序自己用附页附上(三)、单链表基本操作的应用1、通过调用基本操作的功能函数,完成单链表指定位置元素的插入、删除

程序清单:运行结果:实训中出现的问题与解决方法五