1
1
package linkedlists ;
2
2
3
- import linkedlists .RemoveDuplicates .Node ;
4
-
5
3
//Given head pointer of a linked list, sort it in ascending order using insertion sort.
6
4
public class InsertionSortList {
7
5
8
- static Node head ;
6
+ Node head ;
9
7
10
8
static class Node {
11
9
@@ -35,27 +33,28 @@ public static void main(String args[]){
35
33
list1 .head .next .next .next .next = new Node (21 );
36
34
list1 .head .next .next .next .next .next = new Node (14 );
37
35
38
- printlist (head );
36
+ printlist (list1 . head );
39
37
System .out .println ("\n " +"test1" );
40
38
41
-
42
- printlist (insertion_sort (head ));
39
+ printlist (insertion_sort (list1 .head ));
43
40
}
44
41
private static Node insertion_sort (Node head1 ) {
45
42
43
+ //InsertionSortList list2 = new InsertionSortList();
46
44
47
45
Node head2 = new Node (head1 .data );
48
46
head1 = head1 .next ;
47
+
49
48
while (head1 != null ){
50
- if (head1 .data < head2 .data ){
49
+ if (head1 .data <= head2 .data ){
51
50
Node temp = new Node (head2 .data );
52
51
head2 = new Node (head1 .data );
53
52
head2 .next = temp ;
54
53
head1 = head1 .next ;
55
54
} else if (head1 .data > head2 .data ){
56
55
Node start = head2 ;
57
56
while ((head1 .data > head2 .data )&&(head2 .next !=null )){
58
- // System.out.println(head1.data+","+head2.data);
57
+ System .out .println (head1 .data +"," +head2 .data );
59
58
head2 = head2 .next ;
60
59
System .out .println (head1 .data +"," +head2 .data +"inside" );
61
60
}
@@ -73,38 +72,6 @@ private static Node insertion_sort(Node head1) {
73
72
74
73
}
75
74
}
76
-
77
-
78
- // //head2.data = 0;
79
- // System.out.println("test2");
80
- // while(head1 != null){
81
- // System.out.println("testx");
82
- // if (head2.next == null){
83
- // System.out.println("test3");
84
- // head2 = new Node(head1.data);
85
- // System.out.println(head1.data);
86
- // head1 = head1.next;
87
- // } else if(head1.data < head2.data){
88
- // System.out.println("test4");
89
- // Node temp = new Node(head2.data);
90
- // head2 = new Node(head1.data);
91
- // head2.next = temp;
92
- // head1 = head1.next;
93
- // } else if(head1.data > head2.data){
94
- // System.out.println("test4");
95
- // Node start = head2;
96
- // while(head1.data>head2.data){
97
- // head2 = head2.next;
98
- // }
99
- // Node temp = new Node(head2.data);
100
- // head2 = new Node(head1.data);
101
- // head2.next = temp;
102
- // head1 = head1.next;
103
- // head2 = start;
104
- // }
105
- // }
106
-
107
75
return head2 ;
108
-
109
76
}
110
77
}
0 commit comments