kelisi88 2021-03-19 14:09 采纳率: 0%
浏览 104
已结题

Java怎么Sort一个Grid

Java怎么Sort一个Grid

要求如下

请直接上代码JAVA

JAVA

JAVA

  • 写回答

3条回答 默认 最新

  • 里奥超 2021-03-19 14:55
    关注
    public static void main(String[] args) {
            int[] arr = {9,0,37,29,3,43,22,7,11,0,5,67,3,2,0};
            int[] tmp = new int[arr.length];
            mergeSort(arr,0,arr.length-1,tmp);
            for(int i=0;i<arr.length;i++){
                System.out.print(arr[i]+" ");
            }
        }
    
        public static void merge(int[] arr,int low,int mid,int high,int[] tmp){
            int i = 0;
            int j = low,k = mid+1;
            while(j <= mid && k <= high){
                if(arr[j] < arr[k]){
                    tmp[i++] = arr[j++];
                }else{
                    tmp[i++] = arr[k++];
                }
            }
    
            while(j <= mid){
                tmp[i++] = arr[j++];
            }
    
            while(k <= high){
                tmp[i++] = arr[k++];
            }
    
            for(int t=0;t<i;t++){
                arr[low+t] = tmp[t];
            }
        }
    
        public static void mergeSort(int[] arr,int low,int high,int[] tmp){
            if(low<high){
                int mid = (low+high)/2;
                mergeSort(arr,low,mid,tmp);
                mergeSort(arr,mid+1,high,tmp);
                merge(arr,low,mid,high,tmp);
            }
        }

    不让用二维数组 直接用一维数组可以吧,归并排序mergeSort

    评论

报告相同问题?

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)