Sorting and Dichotomy

 

Arrays.sort==recursive sorting, bubble sortinghttp: //www.cnblogs.com/gw811/archive/2012/10/04/2711746.html

Collections.sort==recursive sorting, bubble sorting, merge sortinghttp ://blog.csdn.net/soul_eatel/article/details/49129465

 

 

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

 

JDK underlying merge sort and binary search code and adaptation 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;
	}

 

 

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=327038193&siteId=291194637