gpt4 book ai didi

java 算法之快速排序实现代码

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章java 算法之快速排序实现代码由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

java 算法之快速排序实现代码 。

摘要: 常用算法之一的快速排序算法的java实现 。

原理:选择一个基准元素,通常选择第一个元素或者最后一个元素,通过一趟扫描, 将待排序列分成两部分,一部分比基准元素小,一部分大于等于基准元素, 此时基准元素在其排好序后的正确位置,然后再用同样的方法递归地排序划分的两部分.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/**
  *
  * @author 阿信sxq-2015年7月16日
  *
  * @param args
  */
public static void main(String[] args) {
   int a[] = { 49 , 38 , 65 , 97 , 76 , 13 , 27 , 49 , 78 , 34 , 12 , 64 , 5 , 4 ,
       62 , 99 , 98 , 54 , 56 , 17 , 18 , 23 , 34 , 15 , 35 , 25 , 53 , 51 };
   if (a.length > 0 ) { //查看数组是否为空 
     _quickSort(a, 0 , a.length - 1 );
   }
   System.out.println(Arrays.toString(a));
 
}
 
public static void _quickSort( int [] arr, int left, int right) {
   if (left >= right) {
     return ;
   }
   int low = left;
   int high = right;
   int tmp = arr[low]; //数组的第一个作为中轴 
   while (low < high) {
     while (low < high && arr[high] >= tmp) {
       high--;
     }
     arr[low] = arr[high]; //比中轴小的记录移到低端 
 
     while (low < high && arr[low] <= tmp) {
       low++;
     }
     arr[high] = arr[low]; //比中轴大的记录移到高端 
   }
   arr[low] = tmp; //中轴记录到尾 
   _quickSort(arr, left, low - 1 ); //对低字表进行递归排序 
   _quickSort(arr, low + 1 , right); //对高字表进行递归排序 
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持! 。

原文链接:https://my.oschina.net/songxinqiang/blog/672635 。

最后此篇关于java 算法之快速排序实现代码的文章就讲到这里了,如果你想了解更多关于java 算法之快速排序实现代码的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com