将元素按排序顺序插入数组 [英] Inserting an element into an array in sorted order

查看:76
本文介绍了将元素按排序顺序插入数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图按排序顺序将元素添加到数组中。

I'm trying to add an element into an array in sorted order.

这是我的代码:

public class SortedInsertion {

    public static void main(String[] args) {

        int[] arr=new int[6];
        arr[0]=5;
        arr[1]=6;
        arr[2]=9;
        arr[3]=11;
        System.out.println(Arrays.toString(arr));
        insert(7,arr);


    }

    public static void insert(int val,int[] arr){
        int i;
        for(i=0;i<arr.length-1;i++){

            if(arr[i]>val)
                break;
        }
        for(int k=i;k<arr.length-1;k++){
            arr[k+1]=arr[k];
            arr[i]=val;
        }
        System.out.println(Arrays.toString(arr));


    }

}

我得到的输出为:
[5,6,9,11,0,0]

I'm getting the output as: [5, 6, 9, 11, 0, 0]

[5,6,7,9, 9,9]

[5, 6, 7, 9, 9, 9]

但正确的卖出权是

5,6,9,11,0, 0

5,6,9,11,0,0

5,6,7,9,11,0

5,6,7,9,11,0

推荐答案

像这样更改 insert 方法:

    public static void insert(int val,int[] arr){
      int i;
      for(i=0;i<arr.length-1;i++){
        if(arr[i]>val)
          break;
      }
      for(int k=arr.length-2; k>=i; k--){
        arr[k+1]=arr[k];            
      }
      arr[i]=val;
      System.out.println(Arrays.toString(arr));

    }

这篇关于将元素按排序顺序插入数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆