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

    归并排序,要理解其排序的方法,就是将数组分成大小相同的两个序列,直至每个序列都有一个数为止,然后进行合并,所以分为,分解 合并两个操作

    具体代码如下:

    import java.util.Arrays;

    public class TestMargeSort {
        public static void main(String[] args) {
            int[] arr = {4,9,15,24,30,2,6,18,20};
            MargeSort(arr,0,arr.length-1);
            System.out.println(Arrays.toString(arr));
        }
        private static void MargeSort(int[] arr,int low,int high){//分解操作
            if(low<high){//没有加条件,无限递归下去,栈内存溢出
                int mid=(low+high)/2;
                MargeSort(arr,low,mid);
                MargeSort(arr,mid+1,high);
                Marge(arr,low,mid,high);
            }
            
        }
        private static void Marge(int[] arr,int low,int mid,int high){//合并操作
            int[] arrB =new int[high-low+1];//辅助数组
            int i=low;
            int j=mid+1;
            int k=0;
            while(i<=mid&&j<=high){
                if(arr[i]<arr[j]){
                    arrB[k++]=arr[i++];
                }else{
                    arrB[k++]=arr[j++];
                }
            }
            while(i<=mid)
                arrB[k++]=arr[i++];
            while(j<=high)
                arrB[k++]=arr[j++];
            for(i=low,k=0;i<=high;i++,k++){
                arr[i]=arrB[k];
            }
            
        }
    }

  • 相关阅读:
    视频直播架构
    day1 python 入门
    python 多用户登录
    mysql innobackup 备份脚本
    ADT离线安装
    真机调试adb:wait for device 解决方案
    php中的魔术方法
    整理资料
    PostgreSQL表空间_数据库_模式_表_用户角色之间的关系[转]
    PHP获取文件夹的大小
  • 原文地址:https://www.cnblogs.com/wanglingdeboke/p/9471454.html
Copyright © 2011-2022 走看看