归并排序--带泛型
发布日期:2021-08-13 19:50:33 浏览次数:16 分类:技术文章

本文共 1617 字,大约阅读时间需要 5 分钟。

//复杂度:O(nlog2n) //n倍的以2为底n的对数
public static 
> void msort(T[] arr,T[] tempArr,int start,int end) { 2 3 if(start + 1 < end) { 4 int mid = (start + end) / 2; 5 msort(arr,tempArr,start,mid); 6 msort(arr,tempArr,mid,end); 7 8 if(arr[mid - 1].compareTo(arr[mid]) <= 0) { 9 return;10 }11 12 int A,B,C;13 A = start;14 B = mid;15 C = start;16 while(A < mid && B < end) {17 if(arr[A].compareTo(arr[B]) < 0) {18 tempArr[C] = arr[A];19 A++;20 } else {21 tempArr[C] = arr[B];22 B++;23 }24 C++;25 }26 while(A < mid) {27 tempArr[C] = arr[A];28 A++;29 C++;30 }31 while(B < end) {32 tempArr[C] = arr[B];33 B++;34 C++;35 }36 37 for(int i = start; i != end;++i) {38 arr[i] = tempArr[i];39 }40 }41 }

//测试

 

1 public static void main(String[] args) {2     3         Integer[] arr = {11,3,5,23,76,435,654,34,543};4         Integer[] tempArr = new Integer[arr.length];5         msort(arr,tempArr,0,arr.length);6         for(int i = 0; i != arr.length;++i) {7             System.out.println(arr[i]);8         }9     }

 

转载于:https://www.cnblogs.com/9752-lc/archive/2013/05/23/3095657.html

转载地址:https://blog.csdn.net/weixin_30699235/article/details/99128077 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Java 9 揭秘(5. 实现服务)
下一篇:基于resteasy,Base64码上传文件

发表评论

最新留言

很好
[***.229.124.182]2024年04月13日 20时24分34秒