C Program to print a linked list in reverse | Linked List in reverse order in C language

C Program to print a linked list in reverse | Linked List in reverse order in C language | C assignment to print linklist in reverse Order | Link list using malloc Function | creating runtime memory allocation in C | use of malloc() function in linklist





#include
#include
typedef struct linked_list
{
    int item;
    struct linked_list *next;
}node;

node *create_list();
void print_list(node *);
void print_list_in_reverse(node *);

int main()
{
    node *head=NULL;

    printf("you can create a list by entering elements press -999 to end\n");
    head=create_list();
    printf("\n The list is\n");
    print_list(head);
    printf("\n The list in reverse order is");
    print_list_in_reverse(head);
    printf("\n");
    return 0;
}

node *create_list()
{
    int x;
    node *temp=NULL;
    scanf("%d",&x);
    if(x!=-999)
    {
        temp=(node*)malloc(sizeof(node));
        temp->item=x;
        temp->next=NULL;
        temp->next=create_list();
    }
    return temp;
}
void print_list(node *p)
{
    if(p)
    {
        printf("%d ",p->item);
        print_list(p->next);
    }
    else
    printf("\n");
}

void print_list_in_reverse(node *p)
{
    if(p)
    {
        print_list_in_reverse(p->next);
        printf("%d ",p->item);
    }
    else
    printf("\n");
}

No comments:

Post a Comment