北京理工大学数据结构实验报告实验四

(9页)

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

19.90 积分

《数据结构与算法设计》实验报告——实验四学院: 班级: 学号: 姓名: 一、实验目的 1. 通过实验实践、巩固线性表的相关操作;2. 熟悉VC环境,加强编程、调试的练习;3. 用C语言实现线性表的抽象数据类型,实现线性表构造、插入、取数据等基本操作;4. 理论知识与实际问题相结合,利用上述基本操作实现三种排序并输出。二、实验内容 从键盘输入10个数,编程实现分别用插入排序、交换排序、选择排序算法进行排序,输出排序后的序列。三、程序设计 1、概要设计为了实现排序的功能,需要将输入的数字放入线性表中,进行进一步的排序操作。(1)抽象数据类型:ADT SqList{ 数据对象:D=数据关系:R1= 基本操作:InPut(SqList &L)操作结果:构造一个线性表L。 OutPut(SqList L)初始条件:线性表L已存在。操作结果:按顺序在屏幕上输出L的数据元素。InsertSort(SqList &L)初始条件:线性表L已存在。操作结果:对L的数据元素进行插入排序。QuickSort(SqList &L)初始条件:线性表L已存在。操作结果:对L的数据元素进行快速排序。SelectSort(SqList &L)初始条件:线性表L已存在。操作结果:对L的数据元素进行选择排序。}ADT SqList ⑵主程序流程由主程序首先调用InPut(L)函数创建顺序表,调用InsertSort(L)函数进行插入排序,调用OutPut(L)函数显示排序结果。调用QuickSort(L)函数进行交换排序,调用OutPut(L)函数显示排序结果。调用SelectSort(L)函数进行选择排序,调用OutPut(L)函数显示排序结果。⑶模块调用关系由主函数模块调用创建顺序表模块,排序模块与显示输出模块。⑷流程图开始结束创建线性表进行插入排序进行交换排序进行选择排序输出排序结果输出排序结果输出排序结果 2、详细设计 (1)、宏定义#define MAXSIZE 15//用作示例的小顺序表的最大长度(2)、抽象数据类型定义typedef struct{ int key;//关键字域 int otherinfo;//其它域}RedType;//记录类型typedef struct{ RedType r[MAXSIZE+1];//r[0]闲置或用作哨兵单元 int length;//顺序表长度}SqList;//顺序表类型(3)、操作算法程序实现:void InPut(SqList &L){//输入数字,创建顺序表 int i; printf("请输入10个数字:\n"); L.length=10; for(i=1;i<=L.length;i++) { scanf("%d",&L.r[i].key); }}void InsertSort(SqList &L) { //对顺序表L作直接插入排序(非递减) int i,j; for (i=2; i<=L. length; ++i) if (L.r[i].key < L.r[i-1].key) { //将L.r[i]插入有序子表 L.r[0]=L.r[i]; //将L.r[i]复制为哨兵 for(j=i-1; L.r[0].key=pivotkey) { --high;//将比枢轴记录小的记录移到低端 } L.r[low].key=L.r[high].key; while(low#define MAXSIZE 15//用作示例的小顺序表的最大长度typedef struct{ int key;//关键字域 int otherinfo;//其它域}RedType;//记录类型typedef struct{ RedType r[MAXSIZE+1];//r[0]闲置或用作哨兵单元 int length;//顺序表长度}SqList;//顺序表类型void InPut(SqList &L){//输入数字,创建顺序表 int i; printf("请输入10个数字:\n"); L.length=10; for(i=1;i<=L.length;i++) { scanf("%d",&L.r[i].key); }}void InsertSort(SqList &L) { //对顺序表L作直接插入排序(非递减) int i,j; for (i=2; i<=L. length; ++i) if (L.r[i].key < L.r[i-1].key) { //将L.r[i]插入有序子表 L.r[0]=L.r[i]; //将L.r[i]复制为哨兵 for(j=i-1; L.r[0].key=pivotkey) { --high;//将比枢轴记录小的记录移到低端 } L.r[low].key=L.r[high].key; while(low

 天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

北京理工大学计算机实验四报告表,北京理工大学数据结构实验报告实验四相关推荐

  1. 武汉理工大学计算机专业强化,2020年武汉理工大学计算机改考408

    2020年武汉理工大学计算机改考408?武汉理工大学是一所武汉的211院校,计算机学科评估是B,软件工程的学科评估也是B-,在211中排名不是很靠前. 前段时间,学校发布了招生简章和专业目录 http ...

  2. 大学计算机实验五实验六实验报告表,北京理工大学计算机实验六

    北京理工大学计算机实验六Tag内容描述: 1.实验四实验报告表 实验名称 一条指令的执行过程 学号姓名 班级 实验时间 年月日 实验报告表 4 1 一条指令执行过程记录表 步骤 1 用户指定两个加数 ...

  3. 北京理工大学计算机学院课多吗,北京理工大学计算机考研难不难?看看学长都有哪些说法...

    北京理工大学计算机考研难不难?看看学长都有哪些说法?下面介绍一位考上北京理工大学计算机专硕的学长,为我们带来关于计算机专硕专业课数据结构889的复习备考建议~ 北理算是北京985院校中性价比高,比较容 ...

  4. 北京理工大学计算机学院预推免,北京理工大学计算机学院(专业学位)计算机技术保研条件...

    考研真题资料优惠价原价选择 北京理工大学计算机学院(专业学位)计算机技术保研条件信息,是考研之前需要获取相应的考研信息,比如考试大纲.招考专业.招考目录等等基本信息,这些内容是进行考研前期工作的必要准 ...

  5. 北京理工大学计算机学院男女生比例,北京理工大学进入 “00后”时代,男女新生比例2:1...

    8月24日,北京理工大学2018级新生报到,北京理工大学进入 "00后"时代,关于北理工新生数学大揭秘,你准备好了吗? 本科萌新4000+ 2018年,我理共迎来4127名本科新生 ...

  6. 华东理工大学计算机学院考研考什么,华东理工大学计算机专业基础综合2020考研考试大纲...

    这是华东理工大学计算机专业基础综合2020考研考试大纲,分为六个部分,请给位考生查看,文都考研还会为大家整理其他专业课大纲,请大家持续关注文都考研! 华东理工大学计算机专业基础综合2020考研考试大纲 ...

  7. 华南理工大学计算机专业在哪个校区,华南理工大学计算机学院的什么专业最好?...

    谢谢邀请.一.华南理工大学华南理工大学位于广东省广州市,位列"211工程"."985工程"和世界一流大学建设高校.华南理工大学学科实力是不错的,现有25个博士学 ...

  8. 陈学贤华南理工大学计算机专业,张见威 - 华南理工大学 - 计算机科学与工程学院...

    个人简介 张见威,女,1969年生.曾任学院院长助理.系主任.院党委委员职务.现任学院纪委委员.主讲<C++程序设计基础>.<数据结构>.<大学计算机基础>等课程. ...

  9. 四格表求卡方示例,独立四格表资料检验,统计学,差异性分析

    差异性分析原理:卡方检验是一种用途很广的计数资料的假设检验方法.它属于非参数检验的范畴,主要是比较两个及两个以上样本率( 构成比)以及两个分类变量的关联性分析.其根本思想就是在于比较理论频数和实际频数 ...

  10. 武汉理工大学计算机学院专业排名,2018武汉理工大学专业排名及分数线 王牌专业有哪些...

    2018武汉理工大学专业排名及分数线_王牌专业名单 高考填报志愿时,2018武汉理工大学专业排名和武汉理工大学有哪些王牌专业是广大考生和家长朋友们十分关心的问题,以下为大家整理的武汉理工大学王牌专业名 ...

最新文章

  1. WinXP不能共享Win7的打印机的解决方法
  2. C#如何使用REST接口读写数据
  3. Zookeeper单机伪集群
  4. Java设计模式(建造者模式-适配器模式-桥接模式)
  5. java用途与python_python与java用途区别有哪些
  6. 九阴真经战无不胜服务器位置,九阴真经各门派武功风水宝地分类及坐标大全
  7. kali怎么进入root用户_linux中怎么进入root用户
  8. mac地址随机变化的解决方法(安卓手机通用)不用ROOT
  9. micropython和python区别-MicroPython入坑记(三)板子上的Python到底有多快?
  10. 2020-12-06 高等数学:常用积分公式
  11. html5怎么播放3gp,写了个html5播放视频的video控件,只支持mp4和3gp(android和ios默认支持的格式就写了这个)...
  12. 对炒股的一点个人浅见
  13. “零代码”写爬虫下载自己全部的豆瓣影评
  14. js实现flappybird解析
  15. JAVA-仿微信九宫格头像
  16. 50天50个前端小项目(纯html+css+js)第十二天(FAQ 问题与回答框)
  17. Linux:查看服务器信息,CPU、内存、系统版本、内核版本等
  18. java延迟1秒钟执行_如何让java延迟几秒钟?
  19. asc量子计算机,2020ASC世界大学生超级计算机竞赛聚焦量子计算和语言智能
  20. 迅雷正式回应搜狐诉讼,揭示网络视频行业潜规则

热门文章

  1. 记忆心理学--艾宾浩斯
  2. 容器存储接口 CSI学习
  3. mysql插入数据忽略主键
  4. SSL握手协议详细流程
  5. 我的简历加作品,有路过的帮我评评简历。
  6. 读书有益——》小朋友的诗(二)
  7. 阿里质量图标(字体图标)
  8. 游戏开发术语(1): 渠道包 / 渠道 / 抓包 ?
  9. linux下nginx软件的学习
  10. windows与ubuntu双系统,每次重启windows,时间都不对[closed]