单链表的基本操作 一、实验目的 1、掌握线性链表的操作特点,即指针是逻辑关系的映像
2、掌握动态产生单链表的方法
3、熟练掌握单链表的插入、删除操作特点,即指针赋值的先后次序
4、熟练掌握单链表的取元素操作 二、实验内容 1、定义单链表类型并动态创建单链表 2、实现线性表链式存储结构下元素的插入操作 3、实现线性表链式存储结构下元素的删除操作 4、实现线性表链式存储结构下取元素操作 三、实验环境 TC 或 VC++或 Java 四、实验步骤 1、单链表的存储定义 2、从键盘上依次输入 21、18、30、75、42、56,逆序创建单链表,并输出单链表中的各元素值
3、分别在单链表的第 3 个位置和第 9 个位置插入 67 和 10,给出插入成功或失败的信息,并输出单链表中的各元素值
4、删除单链表中的第 6 个数据元素和第 8 个数据元素,给出删除成功或失败的信息,并输出单链表中的各元素值
5、取单链表中的第 5 个数据元素和第 7 个数据元素 五、问题讨论 1、单链表具有什么优缺点
2、单链表的定义与顺序表的定义有什么区别
3、逆序创建单链表有什么好处
4、为什么单链表中取元素、插入和删除操作在开始不判断给定位置 i的合法性
5、如何改进单链表的定义,使其可以在操作前判断判断给定位置 i的合法性
六、实验报告内容 1、实验目的 2、实验内容和具体要求 3、完成情况和实验记录,实验记录为实验过程中遇到的问题及解决方法 4、程序清单 5、所输入的数据及相应的运行结果 6、问题回答 7、实验心得 实验代码: #include #include #include #define ERROR 0; typedef struct LNode { int data; struct LNode *next; }LNode,*LinkList; LinkList Ini