lq0313 2022-06-26 14:59 采纳率: 100%
浏览 14
已结题

关于链表的冒泡排序其中的部分代码

img

这里是对链表中的学生信息按学号从小到大排序,这里面的p6=p3->next;p3->next=p4->next;p4->next=p6;是做什么用的?为什么没有就执行不了循环后的语句呢?

  • 写回答

1条回答 默认 最新

  • it_hao528 2022-06-26 22:40
    关注

    上边的p5=*p3;*p3=*p4;*p4=p5;交换了p3和p4的所有的值包括了next,如果不把next位置换回来,链表的链就错乱了,所以还需要把next指针的位置再换回来,p6=p3->next;p3->next=p4->next;p4->next=p6就是交换p3和p4的next指针的位置。这样可以保证链表的链是正常的。

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

报告相同问题?

问题事件

  • 系统已结题 7月5日
  • 已采纳回答 6月27日
  • 创建了问题 6月26日