欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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 + " ");
		}
	}
}