testquicksort.java

来自「学算法时写的程序了」· Java 代码 · 共 44 行

JAVA
44
字号
package divide;

public class TestQuickSort {
	private static int[] a = {310,285,179,652,351,423,861,254,450,520};
	public static void quickSort(int p,int r) {
		if(p < r) {
			int q = partition(p,r);
			quickSort(p,q-1);
			quickSort(q+1,r);
		}
	}
	
	public static int partition(int p,int r) {
		int i = p;
		int j = r + 1;
		int x = a[p];
		while(true) {
			while(a[i+1]<=x) {i+=1;};
			while(a[j-1]>=x) {j-=1;};
			if(i >= j) break;
			int temp = a[i];
			a[i] = a[j];
			a[j] = temp;
		}
		a[p] = a[j];
		a[j] = x;
		return j;
	}
	
	public static void main(String[] args) {
		
		System.out.println("排序前:");
		for(int temp:a) {
			System.out.print(temp+"  ");
		}
		System.out.println("\n");
		quickSort(0,a.length - 1);
		System.out.println("快速排序后:");
		for(int temp:a) {
			System.out.print(temp+"  ");
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?