归并排序

来源:互联网 发布:ubuntu bugzilla安装 编辑:程序博客网 时间:2024/06/16 09:04
import java.util.Arrays;public class MergeSort {private static void sort(int data[],int left,int right){if(left<right){int center = (left+right)/2;sort(data,left,center);sort(data,center+1,right);merger(data,left,center,right);}}private static void merger(int data[],int left,int center,int right){int array[] = new int[data.length];int mid = center + 1;int third = left;int tmp = left;while(left<=center&&mid<=right){if(data[left]<data[mid]){array[third++]=data[left++];}else{array[third++]=data[mid++];}}while(left<=center){array[third++]=data[left++];}while(mid<=right){array[third++]=data[mid++];}while(tmp<=right){data[tmp]=array[tmp++];}System.out.println(Arrays.toString(data));}public static void main(String [] args){int data[] = {5,6,8,31,56,22,7,8,12,4,1};sort(data,0,data.length-1);System.out.println(Arrays.toString(data));}}

原创粉丝点击