单链表的排序

Posted icyyyy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单链表的排序相关的知识,希望对你有一定的参考价值。

题目:给定一个无序单链表,实现单链表的排序(按升序排序)

思路:

代码:

 1 /*
 2  * function ListNode(x){
 3  *   this.val = x;
 4  *   this.next = null;
 5  * }
 6  */
 7 
 8 /**
 9  * 
10  * @param head ListNode类 the head node
11  * @return ListNode类
12  */
13 function sortInList( head ) {
14     // write code here
15     let p = head;
16     const arr = [];
17     while(p){
18         arr.push(p.val);
19         p = p.next;
20     }
21     arr.sort ((a,b)=> a-b);
22     p = head;
23     let i = 0;
24     while(p){
25         p.val = arr[i++];
26         p = p.next;
27     }
28     return head;
29 }
30 module.exports = {
31     sortInList : sortInList
32 };

 

以上是关于单链表的排序的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点# 面试必刷TOP101:单链表的排序

算法总结之 单链表的选择排序

Java实现单链表的快速排序和归并排序

单链表的折半查找,冒泡排序,选择排序

单链表的快速排序(转)

链表14:单链表的排序