Write a program to reverse a linked list?
Answer Posted / murali
/* Error Checking is not done */
#include <stdio.h>
typedef struct node {
char ch;
struct node *next;
} list;
list* addNode(const list *start, char ch) {
list *ll;
ll = (list *)start;
while( ll->next != NULL ) { ll = ll->next; }
ll->next = (list *) malloc(sizeof(list));
ll->next->ch = ch;
ll->next->next = NULL;
return ll->next;
}
void printList(const list *start) {
list *ll;
ll = (list *)start;
while ( ll->next != NULL ) {
printf(" %c --> ", ll->ch );
ll = ll->next;
}
printf(" %c --> ", ll->ch );
printf( " NULL ");
}
void reverse(list *a, list *b) {
if( b->next != NULL )
reverse(b, b->next);
b->next = a;
a->next = NULL;
}
int main() {
list *end;
list *start = (list *) malloc(sizeof(list));
start->ch = 'A';
start->next = NULL;
addNode(start, 'B');
addNode(start, 'C');
addNode(start, 'D');
addNode(start, 'E');
end = addNode(start, 'F');
printList(start);
printf("\n");
reverse(start, start->next);
printList(end);
printf("\n");
return 0;
}
| Is This Answer Correct ? | 9 Yes | 5 No |
Post New Answer View All Answers
Is c++ a high level language?
What are the manipulators in c++?
What is array in c++ example?
What is a base class?
What do you mean by static variables?
Explain Text Manipulation Routines?
What is the difference between an external iterator and an internal iterator? Describe an advantage of an external iterator?
How do you instruct your compiler to print the contents of the intermediate file showing the effects of the preprocessor?
What is :: operator in c++?
Is python better than c++?
Difference between struct and class in terms of access modifier.
what kind of projects are suitable for c and c++
How would you obtain segment and offset addresses from a far address of a memory location?
What are the three forms of cin.get() and what are their differences?
When to use “const” reference arguments in a function?