实验二链表的建立和基本运算一、实验目的1、掌握链表存储结构的定义及C/C++语言实现2、掌握双链表的特点和基本运算及C/C++语言实现3、建立并正反序显示双链表结点数据,并执行结点插入操作二、实验环境PC微机,Windows,DOS,TurboC或VisualC++三、实验内容1、实现链表的运算(1)问题描述链表经常进行的运算操作有创建链表、求链表的长度、在链表中查找某个数据元素、在某个位置插入一个新数据元素、在链表中删除某个数据元素等操作
试编程实现链表的这些基本运算
(2)基本要求实现链表的每个运算要求用一个函数实现
(3)算法描述在设计链表的各种运算之前,最重要的准备工作是定义链式存储(即链表)的结点类型,最简单的链表的结点类型可由数据域data和指针域next两部分组成
然后再分别设计各种运算的具体函数
最后在主函数中实现链表的各种运算时,分别调用相应的函数即可
首先,在主函数中创建一个包含若干个结点的链表,在此基础上,就可以调用插入函数在链表的某个位置插入结点,调用求长度函数求出链表的长度,当然其他运算依次类推为方便地实现上述的个种基本运算,可以再设计一个操作方便的主菜单
在整个算法中有一个贯穿各个运算函数之间的线索,那就是链表
因此各个函数中的运算对象都是针对同一个链表的
为了参数的传递方便,可以把指向链表的表头指针设定为全局变量
(4)算法实现——示例程序#include"stdafx
h"#include//malloc()等#include//NULL,printf()等#include//exit()#definenull0;typedefintElemType;typedefstructnode{ElemTypedata;/*数据域*/structnode*next;/*指针域*/}Lnode;/*定义基本线性表的结点结构*/Lnode*head;/*