1: typedef struct abc
2: {
3: int a;
4: struct abc *next;
5: }abc;
6: M-1 : Using three pointers
7: void revrse_list()
8: {
9: abc *temp = NULL,*temp1 = NULL, *temp2 = NULL;
10: temp = start;
11: temp1 = temp->next;
12: temp2 = temp1->next;
13: temp->next = NULL;
14: while(temp1->next != NULL)
15: {
16: temp = temp1;
17: temp1 = temp2;
18: temp2 = temp2->next;
19: temp1->next = temp;
20: }
21: start = temp1;
22: }
23: M-2 : Using recursive
24: abc *reverse_list(abc *node)
25: {
26: abc *temp = NULL;
27: if ( node->next == NULL)
28: {
29: start = node;
30: return node;
31: }
32: temp = reverse_list(node->next);
33: temp->next = node;
34: return node;
35: }
36: main()
37: {
38: abc *temp = NULL;
39: temp = reverse_list(start);
40: temp->next = NULL;
41: }
RTOS, Linux Kernel internal, OS-Programming C & Data Structures, Debugging, Optimizations, Makefiles and Wireless Technologies (Wi-Fi ,LTE and LTE-Advanced )
Search This Blog
Sunday, September 21, 2014
WAP to reverse a singly linked list
Labels:
C,
Data Structure
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment