数据结构上机实践第四周项目6- 循环双链表应用
数据结构实践——循环双链表应用
请在实现算法时,除项目中给出的特殊要求,其余工作均可利用项目4完成的算法支持。
//*Copyright (c)2017,烟台大学计算机与控制工程学院*
//*All rights reservrd.*
//*文件名称 :main.cpp*
//*作者:田长航*
//*完成时间:2017年10月12日*
//*版本号:v1.0*
//*问题描述:循环双链表测试函数*
//*输入描述:*
//*程序输出:HA与HB*
#include <stdio.h>
#include <malloc.h>
#include "cdlinklist.h"void Insert(CDLinkList *&ha, CDLinkList *&hb,int i)
{CDLinkList *p=ha->next,*q;int lena=1,j=1;while (p->next!=ha) //求出ha的长度lena{lena++;p=p->next;}if (i==0) //将hb的所有数据结点插入到ha的头结点和第1个数据结点之间{p=hb->prior; //p指向hb的最后一个结点/p->next=ha->next; //将*p链到ha的第1个数据结点前面ha->next->prior=p;ha->next=hb->next;hb->next->prior=ha; //将ha头结点与hb的第1个数据结点链起来}else if (i<lena) //将hb插入到ha中间{p=ha->next;while (j<i) //在ha中查找第i个结点*p{j++;p=p->next;}q=p->next; //q指向*p结点的后继结点/p->next=hb->next; //hb->prior指向hb的最后一个结点hb->next->prior=p;hb->prior->next=q;q->prior=hb->prior;}else //将hb链到ha之后{ha->prior->next=hb->next; //ha->prior指向ha的最后一个结点hb->next->prior=ha->prior;hb->prior->next=ha;ha->prior=hb->prior;}free(hb); //释放hb头结点
}int main()
{CDLinkList *HA, *HB;ElemType ha[]= {0, 1, 2, 3, 4, 5, 6, 7 ,8, 9};InitList(HA);CreateListF(HA, ha, 10);ElemType hb[]= {100, 200, 300, 400, 500};InitList(HB);CreateListF(HB, hb, 5);printf("HA: ");DispList(HA);printf("HB: ");DispList(HB);Insert(HA, HB, 0); //将0改为其他值,多次运行程序完成测试printf("new HA: ");DispList(HA);DestroyList(HA);return 0;
}
运行结果如图所示:
数据结构上机实践第四周项目6- 循环双链表应用相关推荐
- 数据结构上机实践第四周项目4 - 建设双链表算法库
数据结构之自建算法库--双链表 各种算法结构都有各自的用途,在实际中我们会碰到各种工程,单链表有时无法或者不能很好的满足我们的需求,这个时候,双链表不失为一种好的数据结构.本次实践将建立双链表算法库, ...
- 数据结构上机实践第四周项目2 - 建设“单链表”算法库
项目2 - 建设"单链表"算法库 本次实践的目的以多文件组织的形式建设"单链表算法库",以便在后续的工程中使用. 文中的多文件组织方式不再细说,可以点击此处参照 ...
- 数据结构上机实践第四周项目1 - 建立单链表
[项目1 - 建立单链表] 本次项目的目标是定义单链表存储结构,用头插法和尾插法建立单链表,并显示建立好以后的结果. 测试主函数及函数声明源代码如下: //*Copyright (c)2017,烟台大 ...
- 数据结构上机实践第四周项目5 - 猴子选大王
数据结构实践--猴子选大王 首先呢,小普及一下 读者:难道你当我不知道 读者想对小编说: 进入正题,项目要求如下: 一群猴子,编号是1,2,3 -m,这群猴子(m个)按照1-m的顺序围坐一圈.从第1只 ...
- 数据结构上机实践第四周项目7 - 多项式求和
项目6 - 多项式求和 用单链表存储一元多项式,并实现两个多项式的加法. 提示: 1.存储多项式的数据结构 多项式的通式是pn(x)=anxn+an−1xn−1+...+a1x+a0.n次多项式共 ...
- 数据结构上机实践第四周项目3 - 单链表应用
[项目3 - 单链表应用] 算法的建立就是为了应用所服务的,学会方法,真正能应用才是王道. 应用要求如下: 完成下面的应用时,除项目中给出的特殊要求,其余工作均可利用项目2完成的算法支持. 1.设计 ...
- 第四周实践项目6 循环双链表应用
/* *Copyright (c) 2017,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:项目6-设非空线性表ha和hb都用带头节点的循环双链表表示.设计一个 ...
- 数据结构上机实践第九周项目1 - 二叉树算法库
二叉树算法库 学了新的内容就应该有新的应用,本次实践将进行二叉树算法库的建立,来适应更多工程的需求,丰富算法库. 注:在main函数中,创建的用于测试的二叉树如下 首先本次建立算法库实践将会运用到多文 ...
- 数据结构上机实践第二周项目2- 程序的多文件组织
[项目2 - 程序的多文件组织] 学习数据结构,目标就是要编制出有相当规模的程序的.将所有的代码放在一个文件中的做法,不能适用现阶段的需求了. 通过这个项目,确认有能力用多文件组织程序.方便以后各章, ...
最新文章
- EOSRAM那么火,BANCOR协议白皮书了解一下?
- 实现Excel数据导入到SQL2005中的方法(回顾)
- sam机架和kx连线图_「声卡跳线」雅马哈UR22C/UR24C声卡设置机架直播K歌
- java实体类怎么写_Java中(entity)实体类的书写规范
- 用unison来同步你的远程文件夹 - Fwolf's Blog
- 深入理解构造函数和原型链
- Arduino笔记-呼吸流水灯
- 廖雪峰JS教程--条件判断
- Bootstrap 源代码之行内代码
- Java集合总结大全--史上最强
- Smack 4.3.2 发布,XMPP(jabber) 的 Java 客户端类库
- 对Oracle SQL Developer中 变量的学习
- linux 分区顺序 boot,关于Liunx下的硬盘分区问题(/boot分区)?
- 大学英语综合教程三 Unit 3 课文内容英译中 中英翻译
- 2021 Namomo Summer Camp Day2 图论(杜瑜皓)
- 【细小碎的oi小知识点总结贴】不定时更新(显然也没人看qwq)
- 安卓app开发-03-项目的基本开发步骤
- Windows10消费版和商业版有什么区别
- l5630鲁大师跑分_鲁大师安卓3D引擎更新,跑分测试精准度再升级
- 【从零开始学习深度学习】25.卷积神经网络之LeNet模型介绍及其Pytorch实现【含完整代码】
热门文章
- 牛客国庆集训派对Day1: K. Tengen Toppa Gurren Lagann(贪心)
- 无类域间路由CIDR
- 利用Gabor变换法分析纹理图像 matlab代码实现
- 开发环境ubuntu16.04常用工具和设置(git、ssh、python、sh、java、Maven、mysql、postgresql)
- basys3利用microblaze连接Pmod ad2
- 贺利坚老师汇编课程47笔记:jmp short和jmp near ptr和jmp far ptr
- 8086考试主要考的最小模式
- C#.NET快速开发框架-企业版V4.0截图打包下载
- Maven多模块构建实例
- 7.25 8figting!