Queue implementation using linked list - DS TUTORIAL - onwnxcvnne
Headlines News :
Home » , , » Queue implementation using linked list - DS TUTORIAL

Queue implementation using linked list - DS TUTORIAL

Written By jomon on Tuesday 17 April 2012 | 19:57

demonstrate how to implement queue using linked list.

Description:

The advantage of using linked list is that there is no size limit. The size of queue grow and shrink as per insertion and deletion takes place.

Code:

# include <stdio.h>
# include <stdlib.h>
struct node
{

int
data;
struct
node *link;
};

void
insert(struct node **front, struct node **rear , int value)
{

struct
node *temp;
temp=(struct node *)malloc(sizeof(struct node));
if
(temp==NULL)
{

printf("No Memory available\n");
exit(0);
}

temp->data = value;
temp->link=NULL;
if
(*rear == NULL)
{
*
rear = temp;
*
front = *rear;
}

else

{
(*
rear)->link = temp;
*
rear = temp;
}
}


void
deleteQ(struct node **front, struct node **rear , int *value)
{

struct
node *temp;
if
((*front == *rear) && (*rear == NULL))
{

printf(" The queue is empty can not delete Error\n");
exit(0);
}
*
value = (*front)->data;
temp = *front;
*
front = (*front)->link;
if
(*rear == temp)
*
rear = (*rear)->link;
free(temp);
}


void
main()
{

struct
node *front=NULL,*rear = NULL;
int
n,value;
do

{

do

{

printf("Enter the element to be inserted\n");
scanf("%d",&value);
insert(&front,&rear,value);
printf("Enter 1 to continue\n");
scanf("%d",&n);
}
while(n == 1);
printf("Enter 1 to delete an element\n");
scanf("%d",&n);
while
( n == 1)
{

deleteQ(&front,&rear,&value);
printf("The value deleted is %d\n",value);
printf("Enter 1 to delete an element\n");
scanf("%d",&n);
}

printf("Enter 1 to continue\n");
scanf("%d",&n);
}
while(n == 1);
}

Output

Share this article :

0 comments:

Speak up your mind

Tell us what you're thinking... !

 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. onwnxcvnne - All Rights Reserved
Template Created by Creating Website Published by Mas Template
Proudly powered by Blogger