Definition at line 36 of file main.cpp.
◆ merge()
Definition at line 39 of file main.cpp.
40 {
41
42 if (head_left == NULL)
43 return head_right;
44 else if (head_right == NULL)
45 return head_left;
46
47
48 if (head_left->
val < head_right->
val)
49 {
51 return head_left;
52 }
53 else
54 {
56 return head_right;
57 }
58 }
ListNode * merge(ListNode *head_left, ListNode *head_right)
References merge(), ListNode::next, and ListNode::val.
Referenced by merge(), and sortList().
◆ sortList()
Definition at line 60 of file main.cpp.
61 {
62 if (!head)
63 return NULL;
64
65
66 if (head->
next == NULL)
67 return head;
68
69
73
74 while (right->
next != NULL)
75 {
76 middle_prev = middle;
77 middle = middle->
next;
80 else
82 }
83 middle_prev->
next = NULL;
84
87 head_left =
merge(head_left, head_right);
88 return head_left;
89 }
ListNode * sortList(ListNode *head)
Definition for singly-linked list.
References merge(), ListNode::next, and sortList().
Referenced by main(), and sortList().
The documentation for this class was generated from the following file: