澄子澄子大澄子 2021-10-21 23:22 采纳率: 84.6%
浏览 20
已结题

一个关于数组互换位置,并且删除元素的问题

img


在23行开始的 del方法,实现index[ i ] 和index[ i +1 ]的元素互换,然后把删除掉index[ i ]这个元素(没有互换位置之前的),这是我在韩顺平的视频,我想不通的是这一点 在38行 houses[houseNums -1] = null;//把当前有存在的房屋信息的最后一个设置为null;
我画了一张图

img


画圈圈的位置就是我疑惑地方,如果交换的位置不是最后一位,也要把最后一位设置null吗?

  • 写回答

1条回答 默认 最新

  • 西行妖开花了 2021-10-22 09:09
    关注

    35-37,执行一次index[ i ] =index[ i +1 ]后不会立刻跳出循环,而是继续运行循环运算。也就是说会一直重复将i+1往前挪一位,知道最后一个元素,最后一个元素也就没用了。还有,这个删除不是元素互换之后删除,而是index[ i +1 ]覆盖index[ i ]。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月30日
  • 已采纳回答 10月22日
  • 创建了问题 10月21日