电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

单链表的基本操作

单链表的基本操作_第1页
1/7
单链表的基本操作_第2页
2/7
单链表的基本操作_第3页
3/7
单链表的基本操作 一、实验目的 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 InitList(LinkList L) { LinkList node = NULL; node = (LinkList)malloc(sizeof(LNode)); if(!node) { return ERROR; } node->next = NULL; L = node; return L; } int ListLength(LinkList L) { LinkList p = NULL; int count = 0; p = L; while(p->next) { count++; p = p->next; } return count; } LinkList CreateList_L(LinkList L,int n) { int i; LinkList p = NULL; for(i=n;i>0;i--) { p = (LinkList)malloc(sizeof(LNode)); scanf("%d",&p->data); p->next = L->next; L->next = p; } return...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

单链表的基本操作

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部