`
itace
  • 浏览: 172933 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

排序和二分法

 
阅读更多

 

Arrays.sort==递归排序,冒泡排序http://www.cnblogs.com/gw811/archive/2012/10/04/2711746.html

Collections.sort==递归排序,冒泡排序,归并排序http://blog.csdn.net/soul_eatel/article/details/49129465

 

 

http://blog.csdn.net/amazing7/article/details/51603682

 

JDK底层的归并排序和二分法查找代码及改编code

		int[]arr1 = {24,3,53,46,4,64,7,5,8,98,2,3,5,8,35,7,5};
		int[]arr2 = {38,34,3,5,4,3,5,54,7,3,7,63,25,46,42,54,2};
		Arrays.sort(arr1);
		Arrays.sort(arr2);
		int[]arr = new int[arr1.length+arr2.length];
		for (int i = 0, p = 0, q = 0; i < arr.length; i++) {
			if (q >= arr2.length || p < arr1.length && arr1[p]<=arr2[q])
				arr[i] = arr1[p++];
			else
				arr[i] = arr2[q++];
		}
		for (int i : arr) {
			System.out.println(i);
		}

 

	public static int binarySearch(Integer[] arr, int des) {
	    int low = 0;
	    int high = arr.length - 1;
	 
	    while ((low <= high) && (low <= arr.length - 1)
	            && (high <= arr.length - 1)) {
	        int middle = (high + low) >> 1;
	        if (des == arr[middle]) {
	            return middle;
	        } else if (des < arr[middle]) {
	            high = middle - 1;
	        } else {
	            low = middle + 1;
	        }
	    }
	    return -1;
	}

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics