【LeetCode-面接アルゴリズムクラシック-Java実装】【147-Insertion Sort List(チェーンテーブル挿入ソート)】
【147-Insertion Sort List(チェーンテーブル挿入ソート)】
【LeetCode-面接アルゴリズムクラシック-Java実装】【すべてのテーマディレクトリインデックス】
原題
Sort a linked list using insertion sort.
テーマの大意
単一チェーンテーブルの挿入ソート
問題を解く構想.
ポインタpを使用して、順序付けされていないチェーンテーブルの最初のノードを指し、順序付けされた部分でq以上の最初の前駆ノードを見つけ、pに対応するノードを正しい位置に挿入し、pは順序付けされていないチェーンテーブルの最初のノードを再び指す.チェーンテーブルが並べ替えられるまで.
コード実装
ノードクラス
【LeetCode-面接アルゴリズムクラシック-Java実装】【すべてのテーマディレクトリインデックス】
原題
Sort a linked list using insertion sort.
テーマの大意
単一チェーンテーブルの挿入ソート
問題を解く構想.
ポインタpを使用して、順序付けされていないチェーンテーブルの最初のノードを指し、順序付けされた部分でq以上の最初の前駆ノードを見つけ、pに対応するノードを正しい位置に挿入し、pは順序付けされていないチェーンテーブルの最初のノードを再び指す.チェーンテーブルが並べ替えられるまで.
コード実装
ノードクラス
public class Solution {
public ListNode insertionSortList(ListNode head) {
ListNode root = new ListNode(0); //
root.next = head;
ListNode p = head;
ListNode q;
ListNode r;
while (p != null && p.next != null) {
if (p.val <= p.next.val) {
p = p.next;
}else {
q = p.next;
p.next = q.next;
r = root;
// q.val , root.next p
while (r.next.val <= q.val) {
r = r.next;
}
q.next = r.next;
r.next = q;
}
}
return root.next;
}
}
, , , 。
, 【http://blog.csdn.net/derrantcm/article/details/47801745】