java面试之快速排序

问题:java面试之二分排序

解决方案:

public void binarySort(int[] arr) {
		int len = arr.length;
		int low = 0, high = 0, mid = 0;
		int temp = 0;
		for (int i = 1; i < len; i++) {
			low = 0;
			high = i - 1;
			temp = arr[i];
			while (low <= high) {
				mid = (low + high) / 2;
				if (arr[mid] > temp) {
					high = mid - 1;
				} else {
					low = mid + 1;
				}
			}
			for (int j = i - 1; j > high; j--) {
				arr[j + 1] = arr[j];
			}
			arr[high + 1] = temp;
		}
	}
 

猜你喜欢

转载自wyzws.iteye.com/blog/1739487