File tree Expand file tree Collapse file tree 1 file changed +92
-0
lines changed
C/Data-Structures/LinkedList Expand file tree Collapse file tree 1 file changed +92
-0
lines changed Original file line number Diff line number Diff line change 1+ #include <stdio.h>
2+ #include <stdlib.h>
3+ struct node
4+ {
5+ int info ;
6+ struct node * link ;
7+ };
8+ typedef struct node NODE ;
9+ NODE * currptr ,* start = NULL ,* lastptr ,* newnode ;
10+ int count = 1 ;
11+ NODE * getnode (int value )
12+ {
13+ NODE * newnode = (NODE * )malloc (sizeof (NODE ));
14+ if (newnode == NULL )
15+ {
16+ printf ("Memory not alloted\n" );
17+ return (0 );
18+ }
19+ else
20+ {
21+ newnode -> info = value ;
22+ newnode -> link = NULL ;
23+ return (newnode );
24+ }
25+ }
26+ void insert_beg ()
27+ {
28+ int item ;
29+ printf ("Enter the value to be inserted:" );
30+ scanf ("%d" , & item );
31+ newnode = getnode (item );
32+ if (start == NULL )
33+ {start = newnode ;
34+ newnode -> link = NULL ;
35+ }
36+ else
37+ {
38+ newnode -> link = start ;
39+ start = newnode ;
40+ }
41+
42+ }
43+ void reverse ()
44+ {
45+ int temp ;
46+ currptr = start ;
47+ lastptr = start ;
48+ while (lastptr -> link != NULL )
49+ {
50+ lastptr = lastptr -> link ;
51+ count ++ ;
52+ }
53+ int i ,j ;
54+ for (i = 0 ;i < count - 1 ;i ++ )
55+ {
56+ for (j = 0 ;j < count - i - 1 ;j ++ )
57+ {
58+ temp = currptr -> info ;
59+ currptr -> info = currptr -> link -> info ;
60+ currptr -> link -> info = temp ;
61+
62+
63+ currptr = currptr -> link ;
64+ }
65+ currptr = start ;
66+ }
67+ }
68+ void display ()
69+ {
70+ if (start == NULL )
71+ printf ("NO nodes to display\n" );
72+ for (currptr = start ;currptr != NULL ;currptr = currptr -> link )
73+ printf ("%d" ,currptr -> info );
74+ }
75+ void main ()
76+ {
77+ int c ;
78+ do {
79+
80+ printf ("Enter choice\n" );
81+ scanf ("%d" , & c );
82+ switch (c )
83+ {
84+
85+
86+ case 1 :insert_beg ();break ;
87+ case 2 :reverse ();break ;
88+ case 3 :display ();break ;
89+ }
90+ }while (c != 4 );
91+
92+ }
You can’t perform that action at this time.
0 commit comments