快速排序算法

package nc.bs.util.algorithm;
/**
 * 快速排序算法
 * @author icecookstar
 *
 */
public class QuickSort {
	public static void quickSort(int a[], int low, int high) {
		int i = low;
		int j = high;
		int temp = a[low];
	
		while (i < j) {
			while (temp < a[j]&&i<j)
				j--;
			if (i < j) {
				a[i] = a[j];
				i++;
			}
			
			while (a[i] < temp&&i<j)
				i++;
			if (i < j) {
				a[j] = a[i];
				j--;
			}
		}
		a[i] = temp;
	if(low<i)	quickSort(a, low, i - 1);
	if(i<high)	quickSort(a, j + 1, high);
	}

	
	public static void main(String[] args) {

		int a[] = { 60, 55, 48, 37, 10, 90, 84, 36 };
		quickSort(a, 0, a.length - 1);
		for (int i = 0; i < a.length - 1; i++) {
			System.out.println(a[i] + ",");
		}
	}
}

结果:

10,36,37,48,55,60,84

posted @ 2013-03-06 16:39  段星星  阅读(153)  评论(0编辑  收藏  举报