📜  单链表上快速排序的 Javascript 程序

📅  最后修改于: 2022-05-13 01:56:06.109000             🧑  作者: Mango

单链表上快速排序的 Javascript 程序

此处讨论双向链表上的快速排序。单链表上的快速排序作为练习给出。关于实现的重要事情是,它改变指针而不是交换数据,时间复杂度与双链表的实现相同。

排序图像

partition()中,我们将最后一个元素视为枢轴。我们遍历当前列表,如果一个节点的值大于枢轴,我们将其移动到尾部。如果节点的值较小,我们将其保持在当前位置。

QuickSortRecur()中,我们首先调用 partition() ,它将枢轴放置在正确的位置并返回枢轴。枢轴放置在正确位置后,我们找到左侧的尾节点(枢轴之前的列表)并为左列表递归。最后,我们递归右列表。

Javascript


输出:

Linked List before sorting 
30 3 4 20 5 
Linked List after sorting 
3 4 5 20 30 

有关详细信息,请参阅有关单链表快速排序的完整文章!