链式存储结构(一)——单向链表的有关操作(共5页).doc
《链式存储结构(一)——单向链表的有关操作(共5页).doc》由会员分享,可在线阅读,更多相关《链式存储结构(一)——单向链表的有关操作(共5页).doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上链式存储结构(一)单向链表的有关操作实验目的:1、 掌握单向链表的存储特点及其实现。2、 掌握单向链表的插入、删除算法及其应用算法的程序实现。实验内容:1、 随机产生或键盘输入一组元素,建立一个带头结点的单向链表(无序)。2、 遍历单向链表。3、 把单向链表中元素逆置(不允许申请新的结点空间)。4、 在单向链表中删除所有的偶数元素结点。5、 编写在非递减有序链表中插入一个元素使链表元素仍有序的函数,并利用该函数建立一个非递减有序单向链表。6、 利用算法5建立两个非递减有序单向链表,然后合并成一个非递增链表。7、 利用算法5建立两个非递减有序单向链表,然后合并成一个非递
2、减链表。8、 利用算法1建立的链表,实现将其分解成两个链表,其中一个全部为奇数,令一个全部为偶数(尽量利用已知的存储空间).9、 利用单向链表实现一元多项式的存储并实现两个多项式相加并输出结果。10、 在主函数中设计一个简单的菜单,分别调试上述算法。实现源代码:专心-专注-专业#includestdio.h#includestdlib.htypedef int ElemType;/元素实际类型typedef struct LNodeElemtype data;struct LNode *next;LNode,*LinkList;/定义结点、指针类型名头插法建立无序链表void CreateLi
3、st(LinkList &L)LinkList p;ElemType e;L=(LinkList)malloc(sizeof(LNode);L-next =NULL;printf(头插法建立链表,以0结束n);scanf(%d,&e);while(e)p=(LinkList)malloc(sizeof(LNode);p-data=e;p-next=L-next;L-next=p;scanf(%d,&e);/非递减有序单向链表L插入元素e序列仍有序void insert_Sort(LinkList &L,ElemType e)LinkList p,s;s=(LinkList)malloc(siz
4、eof(LNode);s-data=e;p=L;while(P-next&p-next-datanext;/查找插入位置s-next=p-next;/插入语句*p结点插入*s结点p-next=s;/*建立递增有序单向链表*/void Create_Sort(LinkList &L)ElemType e;L=(LinkList)malloc(sizeof(LNode);L-next=NULL;printf(建立有序表,输入任意个整型数据以0结束n);scanf(%d,&e);while(e)Insert_Sort(L,e);scanf(%d,&e);/*单向链表的遍历*/void Travers
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 链式 存储 结构 单向 有关 操作
限制150内