You are on page 1of 3

#include <stdio.

h>

#include <stdlib.h>

struct Node {

int data;

struct Node* next;

};

struct Node* front = NULL;

struct Node* rear = NULL;

void Enqueue(int x){

struct Node* temp = (struct Node*)malloc(sizeof(struct Node*));

temp->data = x;

if(front==NULL && rear == NULL){

front = rear = temp;

temp->next = NULL;

return;

temp->next=front;

front=temp;

void Dequeue() {

struct Node* temp = front;

struct Node* previous = NULL;

if(rear == NULL) {

printf("Queue is Empty\n");

return;
}

else {

while (temp->next!=NULL){

previous = temp;

temp = temp->next;

previous->next=NULL;

rear = previous;

free(temp);

void Print() {

struct Node* temp = front;

while(temp != NULL) {

printf("%d ",temp->data);

temp = temp->next;

printf("\n");

int main (){

printf("Enqueue 3 : ");

Enqueue(3);Print();

printf("\nEnqueue 1 : ");

Enqueue(1);Print();

printf("\nEnqueue 4 : ");

Enqueue(4);Print();
printf ("\nEnqueue 5: ");

Enqueue(5);Print();

printf ("\nEnqueue 6: ");

Enqueue(6);Print();

printf ("\nDequeue: ");

Dequeue();Print();

printf ("\nDequeue: ");

Dequeue();Print();

You might also like