分而治之,先拆分后归并
归并排序(MergeSort)就是利用归并的思想实现排序的方法。
它的原理是假设初始序列有N个记录,则可以看成是N个有序的子序列,每个子序列的长度为1,然后两两归并,得到N/2个长度为2或1的有序子序列,再两两归并….,如此重复,直至得到一个长度为N的有序序列为止,这种排序方法称为2路归并排序。
思路: 代码实现//归并排序 分而治之 public static void main(String[] args) { int[] arr = {-3,62,47,58,27,-6,84,17,64,38}; split(arr,0,arr.length-1); System.out.println(Arrays.toString(arr)); } //分治 public static void split(int[]arr,int startIndex,int endIndex){ //定义中间索引,用于拆分数组 int centIndex = (startIndex+endIndex)/2; //递归调用,拆分数组 if (startIndex欢迎分享,转载请注明来源:内存溢出
评论列表(0条)