while(left<=mid) temp[index++]=arr[left++]; //若右表中有剩余的元素,将其复制到临时表中 while(right<=high) temp[index++]=arr[right++]; //将排好序的临时数组回归到原数组中,获得排序结果 for(int k=0;k<temp.length;k++) arr[low+k]=temp[k]; } public static void main(String[] args) { // TODO Auto-generated method stub int arr[]={1,4,2,6,3,9,6,5,3,8,6,3}; Sort sort=new Sort(); System.out.println("直接插入排序的结果:"); sort.directlyInsertSort(arr); System.out.println(); System.out.println("折半插入排序的结果"); int arr2[]={1,4,2,6,3,9,6,5,3,8,6,3}; sort.halfInsertSort(arr2); System.out.println(); System.out.println("冒泡排序的结果"); int arr3[]={1,4,2,6,3,9,6,5,3,8,6,3}; sort.buddleSort(arr3); System.out.println(); System.out.println("快速排序的结果"); int arr4[]={1,4,2,6,3,9,6,5,3,8,6,3}; sort.quickSort(arr4, 0, arr4.length-1); //打印排序后结果 for (int value : arr4) { System.out.print(value + " "); } System.out.println(); System.out.println("希尔排序的结果"); int arr5[]={1,4,2,6,3,9,6,5,3,8,6,3}; sort.shellSort(arr5, 6); System.out.println(); System.out.println("简单选择排序的结果"); int arr6[]={1,4,2,6,3,9,6,5,3,8,6,3}; sort.selectSort(arr6); System.out.println(); System.out.println("堆排序的结果"); int arr7[]={1,4,2,6,3,9,6,5,3,8,6,3}; sort.heapSort(arr7); System.out.println(); System.out.println("二路归并排序的结果"); int arr8[]={1,4,2,6,3,9,6,5,3,8,6,3}; sort.mergeSort(arr8, 0, arr8.length-1); //打印排序后结果 for (int value : arr8) { System.out.print(value + " "); } ArrayList<String> ss=new ArrayList<String>(); ss.equals(arr8); ss.hashCode(); }
}
|