请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

希望老师讲解一下 [3, 2, 1, 0] 代码的归并的运行过程 ,debug调试不出来

debug实际结果是递归一会,再去执行__merge函数一会。
  
总的来说希望一次讲解。


正在回答

1回答

我们一点一点来解决。


首先,如果只有两个元素,你是否能够理解我们的代码是怎么执行的?只有 [1, 0],输出是 [0, 1],你是否能理解是为什么?

0 回复 有任何疑惑可以回复我~
  • 提问者 iStream #1
    1,归并排序的代码运行过程已经理解,谢谢老师提供的突破口。
    2,这个地方用发现很多同学问,
     if( i > mid ){  // 如果左半部分元素已经全部处理完毕
                arr[k] = aux[j-l]; j ++;
            }else if( j > r ){  // 如果右半部分元素已经全部处理完毕,
                arr[k] = aux[i-l]; i ++;
    我的理解:
      在并的过程中已经处理完的元素一定小于没有取的元素,因为先取走的都是值小的元素。
    回复 有任何疑惑可以回复我~ 2022-10-01 11:28:59
  • liuyubobobo 回复 提问者 iStream #2
    对 2 的理解非常正确。继续加油!:)
    回复 有任何疑惑可以回复我~ 2022-10-01 11:32:20
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号