2021
08-26
08-26
详解C++实现链表的排序算法
目录一、链表排序二、另外一种链表排序方式三、比较两种排序的效率四、下面通过交换结点实现链表的排序一、链表排序最简单、直接的方式(直接采用冒泡或者选择排序,而且不是交换结点,只交换数据域)//线性表的排序,采用冒泡排序,直接遍历链表voidListsort(Node*&head){inti=0;intj=0;//用于变量链表Node*L=head;//作为一个临时量Node*p;Node*p1;//如果链表为空直接返回if...
继续阅读 >
本文主要介绍了C++归并法+快速排序实现链表排序的方法,分享给大家,具体如下:我们可以试用归并排序解决:对链表归并排序的过程如下。找到链表的中点,以中点为分界,将链表拆分成两个子链表。寻找链表的中点可以使用快慢指针的做法,快指针每次移动2步,慢指针每次移动1步,当快指针到达链表末尾时,慢指针指向的链表节点即为链表的中点。对两个子链表分别排序。将两个排序后的子链表合并,得到完整的排序后的链表上述过程可...