m0_67726816 2022-04-04 10:42 采纳率: 100%
浏览 67
已结题

假设以下所写代码用于将数组中的内容进行反转,解释为什么它是错误的,以及如何进行修正

int[]list = {1, 2, 3, 5, 4}; for ( int i = 0, j = list.length - 1; i < list.length; i++, j-- ) { int temp = list[i]; list[i] = list[j]; list[j] = temp;

  • 写回答

1条回答 默认 最新

  • a5156520 2022-04-04 10:57
    关注

    这里的错误在于结束条件还需要加个i<j, 只有在置换前面下标为i的元素下标小于后面元素的下标j时,
    才需要进行置换,当i>j时,说明元素已完成了前后的置换。可以修改为如下:

    
    int[]list = {1, 2, 3, 5, 4};
     for ( int i = 0, j = list.length - 1; i < list.length&&i<j; i++, j-- )
     {
     int temp = list[i]; 
    list[i] = list[j];
     list[j] = temp;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 6月26日
  • 已采纳回答 6月18日
  • 创建了问题 4月4日

悬赏问题

  • ¥50 求一位精通京东相关开发的专家
  • ¥100 求懂行的大ge给小di解答下!
  • ¥15 pcl运行在qt msvc2019环境运行效率低于visual studio 2019
  • ¥15 MAUI,Zxing扫码,华为手机没反应。可提高悬赏
  • ¥15 python运行报错 ModuleNotFoundError: No module named 'torch'
  • ¥100 华为手机私有App后台保活
  • ¥15 sqlserver中加密的密码字段查询问题
  • ¥20 有谁能看看我coe文件到底哪儿有问题吗?
  • ¥20 我的这个coe文件到底哪儿出问题了
  • ¥15 matlab使用自定义函数时一直报错输入参数过多