本文主要介绍了C++归并法+快速排序实现链表排序的方法,分享给大家,具体如下:我们可以试用归并排序解决:找到链表的中点,以中点为分界,将链表拆分成两个子链表。寻找链表的中点可以使用快慢指针的做法,快指针每次移动 2 步,慢指针每次移动 1步,当快指针到达链表末尾时,慢指针指向的链表节点即为链表的中点。将两个排序后的子链表合并,得到完整的排序后的链表上述过程可以通过递归实现。递归的终止条件是链表的节点个数小于或等于 1,即当链表为空或者链表只包含 1 个节点时,不需要对链表进行拆分和排序。快速排序不能随机选取节点,时间复杂度太高所以会超时

C++归并法+快速排序实现链表排序的方法

C++归并法+快速排序实现链表排序的方法

C++归并法+快速排序实现链表排序的方法