快速排序实验报告(共8页).docx
《快速排序实验报告(共8页).docx》由会员分享,可在线阅读,更多相关《快速排序实验报告(共8页).docx(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上南京邮电大学通达学院实验报告实验名称: 快速排序算法 课程名称:微型计算机原理与接口技术姓名 班级学号: 钱煜中 实验时间: 2016.12.2 快速排序原理一、 实验原理:快速排序算法quick sort主要是利用分治递归的思想进行排序的方法。它的原理是首先从待排序的原始序列ap,r中选取一个元素aq作为分界点(pivot),然后将序列分为两个子序列,左边子序列ap,q-1元素的值都小于分界点m,右边子序列aq+1,r元素值都大于分界点的值,此时得到的序列命名为a,而aq应该处于其排好序后的正确位置。然后利用递归的思想,对左右两个子序列ap,q-1和aq+1,r再分
2、别进行排序,直到子序列的长度为1结束,序列有序。其中,选取a中的基准分界点的方式有多种,或者选择序列的首元素ap,或者选择序列的尾元素ar,或者选择序列中间位置的元素a(p+r)/2,或者取这三个元素按照大小排序后的中间值。例子:a = 38, 81, 22, 48, 13, 69, 93, 14, 45, 58, 79, 72,取(left+right)/2处的元素作为分界点(pivot)的值。具体第一次分区过程如下:因此,第一次分区,以69为分界点,结果为:a= 14, 58, 22, 48, 13, 38, 45, 69, 93, 81, 79, 72。二、 实验代码#include i
3、nt fast_sort(int *a,int i,int j,int *p,int *b)int k,temp,f,g;g=*p;g=(12*g)-12;/intf(成功进入快速排序 g=%dn,g);k=i;i+;for(;iak&ij;)j-;for(;aiak&ij;)i+;/intf(i=%dn,i);if(i=j)break;if(iaj)temp=ak;ak=aj;aj=temp;/r(f=0;f12;f+)/intf(%3d,af);/printf(排序成功 n);for(f=0;f12;f+)*(b+g+f)=af;return j;void digui(int *a,int
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 快速 排序 实验 报告
限制150内