Hi There,
Please find the C (ANSI C11) code for reverse order traversal of Singly Linked List (SLL).
SOURCE CODE
#include
#include
/*
* C11 Version of ANSI C
* AJITH K P (C) _TERMINAL_CODERS_ http://terminalcoders.blogspot.com
*/
struct sll {
int data;
struct sll *link;
};
void print_reverse(struct sll *node){
if(node == NULL){
return;
}
else{
print_reverse(node->link);
}
printf_s("%d ", node->data);
}
int main() {
struct sll *root = malloc(sizeof(struct sll));
int n;
printf_s("Enter number of nodes:");
scanf_s("%d", &n);
printf_s("Enter values of %d nodes:", n);
scanf_s("%d", &root->data);
root->link = NULL;
struct sll *tmp = root;
for(int i=0;idata);
node->link = NULL;
tmp->link = node;
tmp = node;
}
printf_s("SLL Traversal in Reverse Order: ");
tmp = root;
print_reverse(tmp);
return 0;
}