Tuesday 10 July 2012

Linked list using Queue in C

#include<stdio.h>
#include<malloc.h>

#define MAXSIZE 10


void insertion();
void deletion();
void display();


struct node
{
    int info;
    struct node *link;
}

*n,*temp,*p,*front=NULL,*rear=NULL;

typedef struct node N;


void main()
{
    int ch;
    do
    {
    printf("\n\t\t\tLinked queue");
    printf("\n 1.Insertion");
    printf("\n 2.Deletion");
    printf("\n 3.Display");
    printf("\n 4.Exit");
    printf("\n Enter your choice : ");
    scanf("%d",&ch);
        switch(ch){
        case 1:
            insertion();
            break;
        case 2:
            deletion();
            break;
        case 3:
            display();
            break;
        default:
            break;
    }
}

while(ch<=3);
}




void insertion()
{
    int item;
    n=(N*)malloc(sizeof(N));
    printf("\nEnter the item : ");
    scanf("%d",&item);
    n->info=item;
    n->link=NULL;


    if(front==NULL)
        front=n;
    else
        rear->link=n;
        rear=n;
}





void deletion()
{
    if(front==NULL)
        printf("\nQueue is empty");
    else
    {
        p=front;
        printf("\nDeleted element is : %d",p->info);
        front=front->link;
        free(p);
    }
}





void display()
{
    if(front==NULL)
        printf("\nQueue is empty");
    else{
        printf("\nThe elements are : ");
        temp=front;
        while(temp!=NULL){
            printf("%d",temp->info);
            temp=temp->link;
        }
    }
}   

No comments:

Post a Comment