我有一个字段a []里面是1,5,3,2,4
当我在for循环中到达数字3时我想将它(数字3)发送到字段的末尾,因此它将具有索引4并且其他数字(2和4)的索引必须少于a[2] = 2, a[3] = 4
我该怎么做?它可以是具有例如100个值的字段。 谢谢你的回复!
我的程序看起来像这样:
for(int i = 0; i < a.length; i++) {
if(a[i] == 3) {
// i dont know what have to go there
}
}
答案 0 :(得分:1)
int match = 3;
for(int i = 0; i < a.length; i++) {
if(a[i] == match) {
a[i] = a[i+1];
a[i+1] = a[i+2];
a[i+2] = match;
}
}
请注意,存在ZERO错误检查
[edit]有一定的安全性(在这个版本中没有'需要'进行错误检查,因为我只需将整个数组向左移动一个位置并将匹配变量放在最后。
int match = 3;
for(int i = 0; i < a.length; i++) {
if(a[i] == match) {
for int j = i; j < a.length-1; j++) {
a[j] = a[j+1];
}
a[j] = match;
break;
}
}
}
[/编辑]