SEP -DATA STRUCTURE

PART-A

PROGRAM 1 PROGRAM 2 PROGRAM 3 PROGRAM 4 PROGRAM 5 PROGRAM 6 PROGRAM 7 PROGRAM 8

PART-B

PROGRAM B1 PROGRAM B2 PROGRAM B3 PROGRAM B4 PROGRAM B5 PROGRAM B6 PROGRAM B7 PROGRAM B8 . . .

 
 

/*3. Write a C Program to implement a simple queue.  */
       
#include < conio.h>
#include < stdio.h>
#define MAX_SIZE 100


typedef struct {
    int items[MAX_SIZE];
    int front;
    int rear;
} Queue;


void initializeQueue(Queue* q)
{
    q->front = -1;
    q->rear = 0;
}


bool isEmpty(Queue* q) { return (q->front == q->rear - 1); }

l
bool isFull(Queue* q) { return (q->rear == MAX_SIZE); }


void enqueue(Queue* q, int value)
{
    if (isFull(q)) {
        printf("Queue is full\n");
        return;
    }
    q->items[q->rear] = value;
    q->rear++;
}


void dequeue(Queue* q)
{
    if (isEmpty(q)) {
        printf("Queue is empty\n");
        return;
    }
    q->front++;
}




void printQueue(Queue* q)
{
    if (isEmpty(q)) {
        printf("Queue is empty\n");
        return;
    }

    printf("Current Queue: ");
    for (int i = q->front + 1; i < q->rear; i++) {
        printf("%d ", q->items[i]);
    }
    printf("\n");
}

void main()
{
    Queue q;
    initializeQueue(&q);

  
    enqueue(&q, 10);
    printQueue(&q);

    enqueue(&q, 20);
    printQueue(&q);

    enqueue(&q, 30);
    printQueue(&q);

 
    printf("Front element: %d\n", peek(&q));


    dequeue(&q);
    printQueue(&q);



   getch();
}