


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
使用Matlab实现快速排序算法快速排序算法是基于分治策略的排序算法,基本思想是:对于输入的子数组ap,r,按照以下三个步骤进行排序:(1) 分解。以ap为基准元素将ap,r划分为3段(a中各元素的值不相同),ap,q1,aq, aq+1,r,使得ap,q1中的所有元素都小于aq,aq+1,r中所有元素都大于aq。下表q的值在分解过程中确定。(2) 递归求解。递归调用快速排序算法分别对ap,q1和aq+1,r进行排序。(3) 合并。由于对ap,q1和aq+1,r的排序是在元数组中进行的,对ap,q1和aq+1,r排序完成后,不需执行任何计算,ap,r中的元素已完成排序。用Matlab实现如下: function a = quick_sort(a, p, r)% 快速排序算法。% a: 待排序的数组% p,r: 指定待排序子数组的下标范围。% 即对数组a的子数组ap,p+1,.,r进行排序% 用法举例:% a = 3 7 1 8 5 2 4 6; quick_sort(a,1,length(a);if(p r) % 以ap为基准元素将ap,r划分为3段, 并获得下标q. a, q = partition(a, p, r); % 递归调用. 对左半段数组进行排序. a = quick_sort(a, p, q-1); % 递归调用. 对右半段数组进行排序. a = quick_sort(a, q+1, r);end;% 以ap为基准元素将ap,r划分为3段, ap,q1,% aq, aq+1,r,使得ap,q1中的所有元素都% 小于或等于aq,aq+1,r中所有元素都大于或等于% aq。% 并获得下标q.%function b, q = partition(a, p, r)i = p; j = r; % 获得最左下标i和最右下标j.ref = a(p); % 以元素ap作为基准ref.% 将不大于ref的元素交换到左边区域, % 将不小于ref的元素交换到右边区域.while(1) % 从数组左端开始扫描,找到不小于ref的元素的下标i while(a(i)=r) break; end;% 如果到数组右端,则跳出循环 end; % 从数组右端开始扫描,找到不大于ref的元素的下标i while(a(j)ref) j = j-1; % 向左扫描 end; if(i=j) break; end; % 如果i=j, 跳出循环. % 交换a(i)和a(j)的值 a = swap(a, i, j);end;% 计算函数返回值.b = a;q = j;disp(num2str(a); % 显示处理结果.% 交换数组a中i和j两个元素的值.%function b = swap(a, i, j)tmp = a(i); a(i)=a(j); a(j) = tmp;b = a;将以上代码保存为quick_sort.m在命令行输入以下命令:a = 3 7 1 8 5 2 4 6; quick_sort(a,1,length(a);执行结果为: 2 1 3 8
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 成衣品质检验教学设计-2025-2026学年中职专业课-服装制作工艺-服装设计与工艺-轻工纺织大类
- Section B教学设计-2025-2026学年初中英语人教新目标版2012七年级下册-人教版2012
- 任务三 纸板凳的制作教学设计-2025-2026学年初中劳动七年级上册浙教版
- 3.1 列代数式表示数量关系 第2课时 列代数式 说课稿 2024-2025学年人教版七年级数学上册
- 集团有限公司资产管理办法
- 蔬果类营养知识培训课件
- 4.7 数学建模活动:生长规律的描述说课稿-2025-2026学年高中数学人教B版2019必修第二册-人教B版2019
- 第八章 人民解放战争时期的政治概况和文化教学设计-2025-2026学年中职历史中国历史 (全一册)人教版
- 2025年体能专业理论知识考试题库
- 2025年全民(药膳与食疗)技能知识考试题与答案
- 慢性胰腺炎中西医结合诊疗专家共识(2025年)解读课件
- 廊坊市广阳区2025年小升初素养数学检测卷含解析
- 附件6工贸高风险企业高危领域较大以上安全风险管控清单
- 隔声窗施工方案
- (高清版)DB11∕T687-2024公共建筑节能设计标准
- 《医药电子商务实务》考试复习题库(含答案)
- 钢板仓施工流程及安全保证方案
- 农业互联网与农产品营销策略优化
- 知识产权具体实施细则
- 泄密案件整改报告范文
- 船舶危险源辨识及防范措施
评论
0/150
提交评论