首页 > 解决方案 > 不能将旧元素向上推到数组中的一个位置

问题描述

我正在尝试创建一种方法,在其中输入数字并替换第一个数组元素。但是在那之后,我希望将较旧的数组值推到下一个大小。像旧值 {1,2,3,4} 在此方法中输入 10 后的新值:{10,1,2,3}。我不明白我哪里出错了。这里的列表是数组的名称。

 public void insertFirst(int newElement)
    {   
        int temp = 0;      
        list[0]= newElement;

        for(int y= 1; y<list.length-1;y++){
            list[y+1] = list[y];
        }

    }

标签: java

解决方案


您正在从中迭代,因此1您需要从最后迭代并相应地复制元素。2list[y]

    // move the elements from end 
    for(int y = list.length-1; y> 0; y--){
        list[y] = list[y-1];
    }

最后,将新元素放在第一个位置。

    // put the new element at the beginning
    list[0] = newElement;

现场演示


推荐阅读