java排序算法—快速排序
程序员文章站
2024-02-23 08:09:10
...
快速排序
快速排序的思想方法:
1.先从数列中取出一个数作为基准数,记为x。
2.分区过程,将不小于x的数全放到它的右边,不大于x的数全放到它的左边。(这样key的位置左边的没有大于key的,右边的没有小于key的,只需对左右区间排序即可)。
3.再对左右区间重复第二步,直到各区间只有一个数。
代码实现
public class SelectionSort {
public static void main(String[] args) {
Scanner read = new Scanner(System.in);// 创建Scanner对象read 接受从控制台输入
int n;// 元素个数
System.out.println("请输入元素个数:");
n = read.nextInt();
int arr[] = new int[n];
int k, z;
for (k = 0; k < n; k++) {
arr[k] = read.nextInt(); /读取控制台输入数据
}
// int[] arr = { 5, 7, 3, 1, 6, 8, 9, 2 };
System.out.print("排序前的数组为:");
for (int num : arr) {
System.out.print(num + " ");
}
// int[] arr = { 5, 7, 3, 1, 6, 8, 9, 2 };
int min;
//选择排序代码段
for (int i = 0; i < arr.length - 1; i++) {
min = i;// 默认最小为第一个
for (int j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[min]) {
min = j;
}
}
int temp = arr[i];
arr[i] = arr[min];
arr[min] = temp;
}
System.out.print("选择排序结果为:");
for (int num2 : arr) {
System.out.print(num2 + " ");
}
}
}
上一篇: java排序算法:快速排序