C语言中快速排序法如何使用

这篇文章运用简单易懂的例子给大家介绍C语言中快速排序法如何使用,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

网站的建设成都创新互联公司专注网站定制,经验丰富,不做模板,主营网站定制开发.小程序定制开发,H5页面制作!给你焕然一新的设计体验!已为砂岩浮雕等企业提供专业服务。

快速排序法的排法:首先每次排序的时候设置一个基准点,将小于等于基准点的数全部放到基准点的左边;然后将大于等于基准点的数全部放到基准点的右边;最后在每次交换的时候就不会像冒泡排序一样每次只能在相邻的数之间进行交换,交换的距离就大的多了。

快速排序法的排法:

算法思想:

(1)  我们从待排序的记录序列中选取一个记录(通常第一个)作为基准元素(称为key)key=arr[left],然后设置两个变量,left指向数列的最左部,right指向数据的最右部。

C语言中快速排序法如何使用

(2)  key首先与arr[right]进行比较,如果arr[right]key则我们只需要将right--,right--之后,再拿arr[right]与key进行比较,直到arr[right]

C语言中快速排序法如何使用

(3)  如果右边存在arr[right]key,则将arr[right]=arr[left],如果arr[left]

C语言中快速排序法如何使用

(4)  然后再移动right重复上述步骤

C语言中快速排序法如何使用

(5)  最后得到 {23 58 13 10 57 62} 65 {106 78 95 85},再对左子数列与右子数列进行同样的操作。最终得到一个有序的数列。

C语言中快速排序法如何使用

算法实现:

public class QuickSort {
 
   public static void quickSort(int [] arr,int left,int right) {
      int pivot=0;
      if(left=key) {
            right--;
         }
         arr[left]=arr[right];
         while(left
排序前:[65, 58, 95, 10, 57, 62, 13, 106, 78, 23, 85]
排序后:[10, 13, 23, 57, 58, 62, 65, 78, 85, 95, 106]

关于C语言中快速排序法如何使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


名称栏目:C语言中快速排序法如何使用
路径分享:http://bzwzjz.com/article/gceihs.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 温江网站设计 成都品牌网站建设 成都网站建设 企业网站设计 成都网站设计 温江网站设计 外贸网站设计方案 广安网站设计 重庆网站建设 营销型网站建设 成都网站设计 成都网站建设 成都网站设计 教育网站设计方案 成都网站建设公司 网站建设方案 成都网站制作公司 响应式网站建设 重庆手机网站建设 手机网站建设套餐 成都网站建设公司 网站制作