
C Program to implement custom mutex_lock() and mutex_unlock()
September 07, 2025
1 min
This is a simple queue implementation using array.
#include <stdio.h>#include <stdlib.h>#define MAX 5 // maximum size of the queueint queue[MAX];int front = -1, rear = -1;// Function to check if queue is fullint isFull() {return (front == (rear + 1) % MAX);}// Function to check if queue is emptyint isEmpty() {return (front == -1);}// Function to insert an element in the queuevoid enqueue(int value) {if (isFull()) {printf("Queue Overflow! Cannot insert %d\n", value);return;}if (front == -1) {front = 0;}rear = (rear + 1) % MAX;queue[rear] = value;printf("%d enqueued into the queue.\n", value);}// Function to delete an element from the queueint dequeue() {if (isEmpty()) {printf("Queue Underflow! No elements to dequeue.\n");return -1;}int value = queue[front];if (front == rear) {// Queue becomes emptyfront = rear = -1;} else {front = (front + 1) % MAX;}printf("%d dequeued from the queue.\n", value);return value;}// Function to display the queuevoid display() {if (isEmpty()) {printf("Queue is empty.\n");return;}printf("Queue elements: ");int i = front;while (1) {printf("%d ", queue[i]);if (i == rear) break;i = (i + 1) % MAX;}printf("\n");}int main() {int choice, value;while (1) {printf("\n--- Queue Menu ---\n");printf("1. Enqueue\n2. Dequeue\n3. Display\n4. Exit\n");printf("Enter your choice: ");scanf("%d", &choice);switch (choice) {case 1:printf("Enter value to enqueue: ");scanf("%d", &value);enqueue(value);break;case 2:dequeue();break;case 3:display();break;case 4:exit(0);default:printf("Invalid choice! Try again.\n");}}return 0;}
Quick Links
Legal Stuff





