实验二链式存储结构(一)单向链表的有关操作.docVIP

实验二链式存储结构(一)单向链表的有关操作.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验二链式存储结构(一)单向链表的有关操作

实验二 链式存储结构(一)----单向链表的有关操作单向链表的有关操作实验内容 1.随机产生或键盘输入一组元素,建立一个带头结点的单向链表(无序)。 2.遍历单向链表。 3.把单向链表中元素逆置(不允许申请新的结点空间)。 4.在单向链表中删除所有的偶数元素结点。 5.编写在非递减有序链表中插入一个元素使链表元素仍有序的函数,并利用该函数建立一个非递减有序单向链表。 6.利用算法5建立两个非递减有序单向链表,然后合并成一个非递增链表。 7.利用算法5建立两个非递减有序单向链表,然后合并成一个非递减链表。 8.利用算法1建立的链表,实现将其分解成两个链表,其中一个全部为奇数,另一个全部为偶数(尽量利用已知的存储空间)。 * 9.采用单向链表实现一元多项式的存储并实现两个多项式相加并输出结果。 10.在主函数中设计一个简单的菜单,分别调试上述算法。 *11.综合训练:利用链表实现一个班级学生信息管理(数据录入、插入、删除、排序、查找等,并能够实现将数据存储到文件中)实验说明 1.类型定义 #include stdio.h typedef int ElemType;//元素类型 typedef struct LNode {ElemType data; struct LNode *next; }LNode,*LinkList; 2.为了算法实现简单,最好采用带头结点的单向链表。 #pragma once #define WIN32_LEAN_AND_MEAN // 从Windows 头中排除极少使用的资料 #include stdio.h #include tchar.h List1文件 // List1.cpp : 定义控制台应用程序的入口点。 #include stdafx.h #ifndef LINKLIST_H #define LINKLIST_H #includeiostream using namespace std; #include ctime typedef int ElemType; //节点定义 typedef struct LNode { ElemType data; struct LNode *next; }LNode,*LinkList; //手动方式创建链表 LinkList Manual_Create_LinkList(int n) { cout采用手动方式创建链表:endl; LinkList _LinkList = new LNode(); if(_LinkList) {_LinkList-next = NULL;} for(int i = 0 ; i n ; i++) { LinkList p = new LNode(); cout输入第(i+1)个元素:; cinp-data; p-next = _LinkList-next; _LinkList-next = p; }return _LinkList;} //自动方式创建链表 LinkList Auto_Create_LinkList(int n) { cout采用自动随机数方式创建链表:endl; LinkList _LinkList = new LNode(); if(_LinkList) {_LinkList-next = NULL;} srand(time(0)); //seed for(int i = n; i 0 ; i--) { LinkList p = new LNode(); p-data = rand() % 100+ 1; p-next = _LinkList-next; _LinkList-next = p; } return _LinkList; } /*插入非递减有序单向链表*/ void Insert_Sort_LinkList(LinkList _LinkList,ElemType _Var) { LinkList _LinkList1,_LinkList2; _LinkList1 = new LNode(); _LinkList1-data = _Var; _LinkList2=_LinkList; while(_LinkList2-next _LinkList2-next-data =_Var) {_LinkList2 = _LinkList2-next;} _LinkList1-n

文档评论(0)

wannian118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档