码迷,mamicode.com
首页 > 编程语言 > 详细

归并排序java

时间:2015-02-15 00:56:51      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:

 1 import java.util.Arrays;
 2 
 3 
 4 public class MergeSort {
 5 
 6     public static void main(String[] args) {
 7         MergeSort ms=new MergeSort();
 8         int[] arr={5,44,32,4,566,67,23};
 9         ms.merge(arr, 0, arr.length-1);
10         System.out.println(Arrays.toString(arr));
11     }
12     
13     void merge(int[] arr,int start,int end )
14     {
15         if(start==end)
16             return ;
17         int mid=(start+end)/2;
18         merge(arr,start,mid);//左边排序递归
19         merge(arr,mid+1,end);//you边排序递归
20         combine(arr,start,mid,end);
21     }
22 
23     void combine(int[] arr,int start,int mid,int end) {
24         int length=end-start+1;
25         int tempArr[]=new int[length];
26         int tempIndex=0;
27         int left=start;
28         int right=mid+1;
29         while(left<=mid&&right<=end)
30         {
31             if(arr[left]<arr[right])
32                 tempArr[tempIndex++]=arr[left++];
33             else
34                 tempArr[tempIndex++]=arr[right++];
35         }
36         
37         while(left<=mid)
38             tempArr[tempIndex++]=arr[left++];
39     
40         while(right<=end)
41             tempArr[tempIndex++]=arr[right++];
42         
43         for(int i=0;i<tempArr.length;i++)
44         {
45             arr[start+i]=tempArr[i];
46         }
47     }
48 }

 

归并排序java

标签:

原文地址:http://www.cnblogs.com/sweetculiji/p/4292409.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!