zoukankan      html  css  js  c++  java
  • 归并排序

    import java.util.*;
    public class Main {
    	public static void main(String[] args)
    	{
    		int[] num={2,1,45,13,34,43,25,9,6,11};
    		MergeSort(num,0,num.length-1);
    		for(int i=0;i<num.length;i++)
    			System.out.println(num[i]);
    	}
    	public static void MergeSort(int[] num,int left,int right)
    	{
    		if(left<right)
    		{
    			int middle=(left+right)/2;
    			MergeSort(num,left,middle);
    			MergeSort(num,middle+1,right);
    			Merge(num,left,middle,right);
    		}
    	}
    	public static void Merge(int[] num,int left,int middle,int right)
    	{
    		int[] tmp=new int[right-left+1];
    		int i=left,j=middle+1,k=0;
    		while(i<=middle&&j<=right)
    		{
    			if(num[i]<num[j])
    				tmp[k++]=num[i++];
    			else
    				tmp[k++]=num[j++];
    		}
    		if(i<=middle)
    		{
    			while(i<=middle)
    				tmp[k++]=num[i++];
    		}
    		if(j<=right)
    		{
    			while(j<=right)
    				tmp[k++]=num[j++];
    		}
    		for(i=0;i<tmp.length;i++)
    			num[i+left]=tmp[i];
    	}
    
    }
    

      

  • 相关阅读:
    网络编程
    GUI编程
    Java数组
    Day24
    Day23
    Day22
    Day21
    Day20
    Day19
    Day18
  • 原文地址:https://www.cnblogs.com/mingyao123/p/7349060.html
Copyright © 2011-2022 走看看