欢迎来到天天文库
浏览记录
ID:16087467
大小:61.00 KB
页数:6页
时间:2018-08-07
《实验二 链式存储结构(一)----单向链表的有关操作》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验二链式存储结构(一)----单向链表的有关操作姓名王艳青学号520713130135日期2009.12.7实验题目单向链表的有关操作实验内容1.随机产生或键盘输入一组元素,建立一个带头结点的单向链表(无序)。2.遍历单向链表。3.把单向链表中元素逆置(不允许申请新的结点空间)。4.在单向链表中删除所有的偶数元素结点。5.编写在非递减有序链表中插入一个元素使链表元素仍有序的函数,并利用该函数建立一个非递减有序单向链表。6.利用算法5建立两个非递减有序单向链表,然后合并成一个非递增链表。7.利用算法5建立两个非递减有序单向链表,然后合并成一个非递减链表。8.利用算法1建立的链表,
2、实现将其分解成两个链表,其中一个全部为奇数,另一个全部为偶数(尽量利用已知的存储空间)。*9.采用单向链表实现一元多项式的存储并实现两个多项式相加并输出结果。10.在主函数中设计一个简单的菜单,分别调试上述算法。*11.综合训练:利用链表实现一个班级学生信息管理(数据录入、插入、删除、排序、查找等,并能够实现将数据存储到文件中)实验说明1.类型定义#includetypedefintElemType;//元素类型typedefstructLNode{ElemTypedata;structLNode*next;}LNode,*LinkList;2.为了算法实现简单
3、,最好采用带头结点的单向链表。实验源代码头文件#pragmaonce#defineWIN32_LEAN_AND_MEAN//从Windows头中排除极少使用的资料#include#includeList1文件//List1.cpp:定义控制台应用程序的入口点。#include"stdafx.h"#ifndefLINKLIST_H#defineLINKLIST_H#includeusingnamespacestd;#includetypedefintElemType;//节点定义typedefstructLNod
4、e{ElemTypedata;structLNode*next;}LNode,*LinkList;//手动方式创建链表LinkListManual_Create_LinkList(intn){cout<<"采用手动方式创建链表:"<next=NULL;}for(inti=0;i>p->data;p->next=_LinkList->next;_
5、LinkList->next=p;}return_LinkList;}//自动方式创建链表LinkListAuto_Create_LinkList(intn){cout<<"采用自动随机数方式创建链表:"<next=NULL;}srand(time(0));//seedfor(inti=n;i>0;i--){LinkListp=newLNode();p->data=rand()%100+1;p->next=_LinkList->next;_LinkList->n
6、ext=p;}return_LinkList;}/*插入非递减有序单向链表*/voidInsert_Sort_LinkList(LinkList&_LinkList,ElemType_Var){LinkList_LinkList1,_LinkList2;_LinkList1=newLNode();_LinkList1->data=_Var;_LinkList2=_LinkList;while(_LinkList2->next&&_LinkList2->next->data<=_Var){_LinkList2=_LinkList2->next;}_LinkList1->next=_
7、LinkList2->next;_LinkList2->next=_LinkList1;}//建立非递减有序单向链表LinkListManual_Create_Ordered_LinkList(int_int){cout<<"采用手动方式建立非递减有序单向链表:"<next=NULL;}inti=0;intj=0;intk=0;ElemType_Var;for(
此文档下载收益归作者所有