Thursday, 28 July 2022

Circular Queue in C language



#include<stdio.h>

#include<conio.h>

#define n 5


void enqueue();

void dequeue();

void display();


int queue[n],r=-1,f=-1;


// --> f means front...

// --> r means rear...


void main()

{

    int ch;

    clrscr();


    printf("1.enqueue\n2.dequeue\n3.display\n4.exit\n");

    do

    {

        printf("\nenter your choice: ");

        scanf("%d",&ch);


        switch(ch)

        {
            case 1: enqueue();

            break;


            case 2: dequeue();

            break;


            case 3: display();

            break;


            case 4: exit(0);


            default: printf("\n\t\t\t!!  enter valid choice  !!\n");

            break;

        }

    }while(ch != 4);

}


void enqueue()

{

    if(r==-1 && f==-1)

    {

        r = f = 0;

        printf("enter value: ");

        scanf("%d",&queue[r]);

    }

    else if((r==n-1 && f==0) || (r+1 == f))

    {

        printf("\n\t\t\t!!  queue is full  !!\n");

    }

    else if(r==n-1 && f!=0)

    {

        r=0;

        printf("enter a value: ");

        scanf("%d",&queue[r]);

    }

    else

    {

        r++;

        printf("enter value: ");

        scanf("%d",&queue[r]);

    }

}


void dequeue()

{

    if(f==-1 && r==-1)

    {

        printf("\n\t\t\t!!  queue is empty  !!\n");

    }

    else if(f == r)

    {

        printf("%d value deleted\n",queue[f]);

        f = r = -1;

    }

    else if(f == n-1)

    {

        printf("%d deleted\n",queue[f]);

        f=0;

    }

    else

    {

        printf("%d is deleted\n",queue[f]);

        f++;

    }

}


void display()

{

    int i;


    if(r==-1 && f==-1)

    {

        printf("\n\t\t\t!!  queue is empty  !!\n");

    }

    else if(f <= r)

    {

        for(i=f; i<=r; i++)

        {

            printf("%d\n",queue[i]);

        }

    }

    else

    {

        for(i=f; i<=n-1; i++)

        {

            printf("%d\n",queue[i]);

        }

        for(i=0; i<=r; i++)

        {

            printf("%d\n",queue[i]);

        }

    }

}


No comments:

Post a Comment

python programs

1. sum of two number