算法:Java快速排序的实现

算法:Java快速排序的实现

小颜同学 Lv4

快速排序由于排序效率在同为O(n*logn)的几种排序方法中效率较高,快速排序思想——分治法也确实实用。
排序思想也有很多种,例如:冒泡排序、选择排序、插入排序,快速排序,那么此篇就来讲讲快速排序的实现吧~

基本思想

1.先从数列中取出一个数作为基准数。
2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。
3.再对左右区间重复第二步,直到各区间只有一个数。

代码实现

这里是C语言的代码(上课记录下来的)

那么下面我们用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
public class QuickSort {
public void quickSort(int[] a,int l,int r){
if (l<r){
int temp=a[l];
while (l<r){
while (l<r && a[r]>temp){
r--;
}
if (l<r){
a[l++]=a[r];
}
while (l<r && a[l]<=temp){
l++;
}
if (l<r){
a[r--]=a[l];
}
}
a[l]=temp;
quickSort(a,l,temp-1);
quickSort(a,temp+1,r);
}
}
}
  • 标题: 算法:Java快速排序的实现
  • 作者: 小颜同学
  • 创建于: 2022-10-08 11:34:45
  • 更新于: 2023-12-18 09:06:28
  • 链接: https://www.wy-studio.cn/2022/10/08/算法:Java快速排序的实现/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
 评论
此页目录
算法:Java快速排序的实现