【全版】快速排序推荐PPT.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
;;;;int Partition(int R[],int i,int j) 定义一个变量用于保存输入的数据个数 定义一个数组用于存储输入的数据 快速排序是一种划分交换排序。 int pivot=R[i]; if(i<j) 对第2轮排序形成的4个子区间用同样的方法进行排序,整个排序过程完成。 if(i<j) 选择数据序列中第一个元素作为基准,以此基准将当前无序区划分为左、右两个较小的子区间,使左边子区间中所有的数据均小于等于基准,右边子区间中所有的数据均大于等于基准。 for(i=0;i<=n-1;i++) 通过循环语句实现排序后数据的输出 printf("%4d",R[i]); 函数类型 函数名 (形参表列 ) while(i<j&&R[j]>=pivot) int pivotpos; 通过循环语句进行排序数据的输入 定义一个数组用于存储输入的数据 3、再对左右区间重复第二步,直到各区间只有一个数。;快速排序是一种划分交换排序。它采用了一种分治的策略,通常称其为分治法。快速排序的基本思想:;;;;;;int Partition(int R[],int i,int j) 快速排序是不稳定的排序方法。 定义一个数组用于存储输入的数据 通过循环语句进行排序数据的输入 对第1轮排序形成的2个子区间用同样的方法进行排序,形成4个子区间。 对第1轮排序形成的2个子区间用同样的方法进行排序,形成4个子区间。 将两个用户自定义函数改写合并为一个自定义函数,重新编写程序。 通过循环语句实现排序后数据的输出 void Quick_Sort(int R[],int i,int j) 一个函数直接调用自己(直接递归调用)或通过其他函数间接的调用自己(间接递归调用)。 在序列中任选一个数据作为基准(Pivot),以此基准将当前无序数据序列划分为左、右两个较小的子区间,并使左边子区间中所有数据均小于等于基准,右边子区间中所有数据均大于等于基准。 递归调用结束后,整个数据序列变为有序,排序结束。 通过循环语句进行排序数据的输入;;;;;;对程序进行修改,实现数据序列从大到小排列。;;;;;int Partition(int R[],int i,int j) 定义一个变量用于保存输入的数据个数 定义一个数组用于存储输入的数据 快速排序是一种划分交换排序。 int pivot=R[i]; if(i<j) 对第2轮排序形成的4个子区间用同样的方法进行排序,整个排序过程完成。 if(i<j) 选择数据序列中第一个元素作为基准,以此基准将当前无序区划分为左、右两个较小的子区间,使左边子区间中所有的数据均小于等于基准,右边子区间中所有的数据均大于等于基准。 for(i=0;i<=n-1;i++) 通过循环语句实现排序后数据的输出 printf("%4d",R[i]); 函数类型 函数名 (形参表列 ) while(i<j&&R[j]>=pivot) int pivotpos; 通过循环语句进行排序数据的输入 定义一个数组用于存储输入的数据 3、再对左右区间重复第二步,直到各区间只有一个数。;快速排序是一种划分交换排序。它采用了一种分治的策略,通常称其为分治法。快速排序的基本思想:;;;;;;int Partition(int R[],int i,int j) 快速排序是不稳定的排序方法。 定义一个数组用于存储输入的数据 通过循环语句进行排序数据的输入 对第1轮排序形成的2个子区间用同样的方法进行排序,形成4个子区间。 对第1轮排序形成的2个子区间用同样的方法进行排序,形成4个子区间。 将两个用户自定义函数改写合并为一个自定义函数,重新编写程序。 通过循环语句实现排序后数据的输出 void Quick_Sort(int R[],int i,int j) 一个函数直接调用自己(直接递归调用)或通过其他函数间接的调用自己(间接递归调用)。 在序列中任选一个数据作为基准(Pivot),以此基准将当前无序数据序列划分为左、右两个较小的子区间,并使左边子区间中所有数据均小于等于基准,右边子区间中所有数据均大于等于基准。 递归调用结束后,整个数据序列变为有序,排序结束。 通过循环语句进行排序数据的输入;;;;;;对程序进行修改,实现数据序列从大到小排列。;

文档评论(0)

偶遇 + 关注
实名认证
内容提供者

个人介绍

1亿VIP精品文档

相关文档