java - 不能将旧元素向上推到数组中的一个位置
问题描述
我正在尝试创建一种方法,在其中输入数字并替换第一个数组元素。但是在那之后,我希望将较旧的数组值推到下一个大小。像旧值 {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];
}
}
解决方案
您正在从中迭代,因此1
您需要从最后迭代并相应地复制元素。2
list[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;
推荐阅读
- c++ - 为什么 memset 可以用零初始化 C++ 中的 2D 数组,但在像这样声明 `array[n][k+1]={0}` 时无法设置?
- visual-studio-code - 使用 VS Code Dev Container 仅构建所需的 docker-compose.yaml 服务
- pandas - 数据框行改组
- git - Git 只合并一些提交
- python - 在特定点重复 python 脚本
- php - 注意:尝试在第 83 行访问 bool 类型值的数组偏移量
- javascript - PHP 调用 Javscript 函数时出现“未捕获的 ReferenceError:未定义 gotoLogIn”
- mysql - MySQL 在至少 X 个项目上加入数据集
- c# - ASP.NET Entity Framework 加载嵌套的相关数据
- c++ - 如何检查字符串向量中字符的所有邻居