quicksort.java

来自「Java 程序设计源码 只提供了部分」· Java 代码 · 共 46 行

JAVA
46
字号
public class QuickSort {
	public static void main(String[] args) {
		int[] list = {1,5,4,2,3,8,9,7,6,12};
		
		//Before sorting
		for(int i = 0; i < list.length; i++) {
			System.out.print(list[i] + " ");
		}

		quickSort(list,0,list.length);

		System.out.println();

		//After Sorting
		for(int i = 0; i < list.length; i++) {
			System.out.print(list[i] + " ");
		}		
	}

	static void quickSort(int[] items,int left,int right) {
		int i,j;
		int x,y;

		i = left;
		j = right;
		
		x = items[(left + right) / 2];

		do {
			while(items[i] < x) i++;
			while(x < items[j]) j--; 
		
			if(i <= j) {
				y = items[i];
				items[i] = items[j];
				items[j] = y;
				i++;
				j--;
			}
		}while(i <= j);

		if(j > left) quickSort(items,left,j);
		if(i < right) quickSort(items,i,right);
	}

}

⌨️ 快捷键说明

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