快速排序法1.java
来自「输入数组(int[] number)作为sort的参数调用sort 即可实现排序」· Java 代码 · 共 41 行
JAVA
41 行
//快速排序法3优于1
//输入数组(int[] number)作为sort的参数调用sort 即可实现排序(不减序排列)
//或者利用重载的sort方法,输入参数是(int[] number, 0, number.length-1)
public class 快速排序法1 {
public static void sort(int[] number) {
sort(number, 0, number.length-1);
}
//重载
private static void sort(int[] number, int left, int right) {
if(left < right) {
int s = number[left];
int i = left; //用时候是++i
int j = right + 1; //用时候是--j,
while(true) {
// 向右找 ,直到找到大于等于s
while(i + 1 < number.length && number[++i] < s) ;
// 向左找 ,直到找到小于等于s
while(j -1 > -1 && number[--j] > s) ;
if(i >= j)
break;
swap(number, i, j);
}
number[left] = number[j];
number[j] = s;
sort(number, left, j-1); // 對左邊進行遞迴
sort(number, j+1, right); // 對右邊進行遞迴
}
}
//在数组number中交换下标为i、j的元素,其他元素保存不变
private static void swap(int[] number, int i, int j) {
int t;
t = number[i];
number[i] = number[j];
number[j] = t;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?