版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2016数据结构Data structure讲授:丁慧归并排序常州信息职业技术学院02归并排序采用两路归并方法将两个有序子表合并成一个新的有序表主要包括:自底向上归并排序和自顶向下归并排序(1)基本思路:设两个有序的子文件放在同一向量中相邻的位置上:Rlow.m,Rm+1.high,先将它们合并到一个局部的暂存向量R1中,待合并完成后将R1复制回Rlow.high中。1、两路归并方法03归并排序04(2)归并过程:动态申请R1:R1是辅助空间,采用动态申请合并:设置i,j和p三个指针,其初值分别指向Rlow.m、Rm+1.high、R1的起始位置。依次比较Ri与Rj的关键字,取关键字较小的记录
2、复制到R1p中,然后将被复制记录的指针i或j加1,以及指向复制位置的指针p加11、两路归并方法jipRlowRhighRmRlow+1Rm+1R10辅助空间R1R11Ri.keyRj.keyjp 重复这一过程直至两个子文件有一个已全部复制完毕(不妨称其为空),此时将另一非空的子文件中剩余记录依次复制到R1中即可归并排序05将两个关键字序列有序表A=(15,18,47),B=(12,35,40,56,68)归并为关键字序列有序表C1、两路归并方法jipipp1518473540566812辅助空间R112j1518pi35jp40jp47ip566806(3)两路归并算法 void Merge(
3、SeqList R,int low,int m,int high) /将两个有序的子文件Rlow.m)和Rm+1.high归并成一个有序的子文件Rlow.highint i=low,j=m+1,p=0; /置初始值RecType *R1; R1=(RecType *)malloc(high-low+1)*sizeof(RecType);if(!R1) /申请空间失败printf(申请空间失败!);return;while(i=m&j=high) /两子文件非空时取小者复制到R1pR1p+=(Ri.key=Rj.key)?Ri+:Rj+;while(i=m) /若第1个子文件非空,则复制剩余记录到R1中R1p+=Ri+;while(j=high) /若第2个子文件非空,则复制剩余记录到R1中R1p+=Rj+;for(p=0,i=low;i=high;p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年幼儿园音乐 小菜园
- 2026年幼儿园好玩的课程
- 2026年幼儿园课件西餐
- 2026年3k游戏测试笔试题目及答案
- 2026年幼儿园认识天鹅
- 2026年3单元答题试卷及答案
- 医学科研设计(浙大)2 科研设计基本原则和要素以及描述性研究
- 《金融学基础》 -课件 第13章 互联网金融与数字货币
- 提升公众数字素养打破信息茧房壁垒
- 元旦活动课件
- 浙江省金华市(2026年)辅警协警笔试笔试真题(附答案)
- 2026年3年级竞赛试题及答案
- 养老护理员工作倦怠与应对
- 2026山西晋中市寿阳县国有资本运营有限公司及下属公司中高层管理人员招聘12人考试备考题库及答案解析
- 2026年3月15日九江市五类人员面试真题及答案解析
- (必练)攀枝花学院辅导员招聘笔试备考核心题库(含详解)
- GB/T 31002.1-2014人类工效学手工操作第1部分:提举与移送
- GB/T 14048.7-2016低压开关设备和控制设备第7-1部分:辅助器件铜导体的接线端子排
- 2022~2023血站上岗证考试题库及答案参考85
- 第五章-钢的热处理及表面处理技术课件
- 天然气加气站安全事故的案例培训课件
评论
0/150
提交评论