File tree Expand file tree Collapse file tree 1 file changed +103
-0
lines changed Expand file tree Collapse file tree 1 file changed +103
-0
lines changed Original file line number Diff line number Diff line change 1+ #include <stdio.h>
2+ #include <stdlib.h>
3+
4+ struct node
5+ {
6+
7+ int data ;
8+ struct node * next ;
9+ };
10+
11+ void displayList (struct node * ptr )
12+ {
13+
14+ while (ptr != NULL )
15+ {
16+ printf ("%d\n" , ptr -> data );
17+ ptr = ptr -> next ;
18+ }
19+ }
20+
21+ struct node * insertionatfirst (struct node * head , int data )
22+ {
23+
24+ struct node * ptr = (struct node * )malloc (sizeof (struct node ));
25+ ptr -> data = data ;
26+
27+ ptr -> next = head ;
28+ head = ptr ;
29+
30+ return head ;
31+ }
32+ struct node * insertionatlast (struct node * head , int data )
33+ {
34+
35+ struct node * ptr = (struct node * )malloc (sizeof (struct node ));
36+ ptr -> data = data ;
37+
38+ struct node * p = head ;
39+
40+ while (p -> next != NULL )
41+ {
42+ p = p -> next ;
43+ }
44+ p -> next = ptr ;
45+ ptr -> next = NULL ;
46+ return head ;
47+ }
48+ struct node * insertionatindex (struct node * head , int data , int index )
49+ {
50+
51+ struct node * ptr = (struct node * )malloc (sizeof (struct node ));
52+
53+ struct node * p = head ;
54+ int i = 0 ;
55+
56+ while (i != index - 1 )
57+ {
58+ p = p -> next ;
59+ i ++ ;
60+ }
61+
62+ ptr -> data = data ;
63+ ptr -> next = p -> next ;
64+ p -> next = ptr ;
65+
66+ return head ;
67+ }
68+
69+ int main ()
70+ {
71+
72+ struct node * head ;
73+ struct node * first ;
74+ struct node * secound ;
75+ struct node * third ;
76+
77+ head = (struct node * )malloc (sizeof (struct node ));
78+ first = (struct node * )malloc (sizeof (struct node ));
79+ secound = (struct node * )malloc (sizeof (struct node ));
80+ third = (struct node * )malloc (sizeof (struct node ));
81+
82+ head -> data = 45 ;
83+ head -> next = first ;
84+
85+ first -> data = 50 ;
86+ first -> next = secound ;
87+
88+ secound -> data = 60 ;
89+ secound -> next = third ;
90+
91+ third -> data = 80 ;
92+ third -> next = NULL ;
93+
94+ printf ("Before\n" );
95+ displayList (head );
96+ printf ("AFter\n" );
97+ // head = insertionatfirst(head, 70);
98+ // head = insertionatlast(head, 90);
99+ head = insertionatindex (head , 89 , 2 );
100+ displayList (head );
101+
102+ return 0 ;
103+ }
You can’t perform that action at this time.
0 commit comments