数组的小问题
今天看书,有道题不会,求解:
假设以下代码用于将数组中的内容进行反转,解释为什么它是错误的,以及如何进行修正?
int[] list={1,2,3,4,5};
for(int i=0,j=list.length-1;i<list.length;i++,j--){
int temp=list[i];
list[i]=list[j];
list[j]=temp;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
因为循环的终止条件写错了啊,终止提交应该是i >= j.代码如下:
记住代码格式规范也很重要啊,操作符前后加空格啊!!!
翻过去又翻回来了,
判断条件修改下为
Java不会,不过不影响。这题与语言类型无关。
给你个PHP的答案:
代码:
输出:
正确代码(未严格测试):
你是想从两边向数组中间互换,循环到一半就达到了互换的要求了,然后你执行后一半循环的时候,又换回去了。if判断条件改为数组长度的一半,就达到要求了。