Members BookmarksPolls Fresher Jobs Funny Photos B.Tech Projects New Member FAQ  



My Profile
Active Members
TodayLast 7 Days more...



Awards & Gifts
Online Exams

Fresher Jobs


Our fresher job section is exclusively for fresh graduates! Find jobs for freshers in major Indian cities including Bangalore, Chennai, Hyderabad, Pune or Kochi

Resources


Find educational articles, blogs, discussion threads and other resources.

Colleges


Find details about any college in India or search for courses.

Advertisements


website counter



working of queue using linked list


Posted Date: 02 Jun 2008    Resource Type: Articles/Knowledge Sharing    Category: Education

Posted By: Vidya       Member Level: Diamond
Rating:     Points: 1



Program : Program shows working of queue using linked list



#include
#include
#include

typedef struct queue_link
{
int data;
struct queue_link *link;
}node;

/********** Function Declaration begins **********/
void enqueue(node **, node **, int);
void dequeue(node **);
void display(node *);
/********** Function Declaration ends **********/

void main()
{
node *front = NULL, *rear = NULL;
int ch,item;

printf(“\n\t\t Program of queue using linked list”);

do
{
printf(“\n\t\tMenu”);
printf(“\n\t\t1.enqueue”);
printf(“\n\t\t2.dequeue”);
printf(“\n\t\t3.display”);
printf(“\n\t\t4.exit”);
printf(“\n\t\tEnter choice : “);
scanf(“%d”,&ch);

switch(ch)
{
case 1:
printf(“Enter an data to be enqueueed : “);
scanf(“%d”,&item);
enqueue(&front,&rear,item);
break;
case 2:
dequeue(&front);
break;
case 3:
printf(“\n\t**** Queue *****\n”);
display(front);
break;
case 4:
exit(0);
default:
printf(“\n wrong choice:”);
}
}
while (ch!=4);
printf(“\n”);
}


/********** Inserting elements in queue **********/
/********** Function Definition begins **********/
void enqueue( node **front,node **rear,int item)
{
node *new_node;

new_node = (node *)malloc(sizeof( node));
new_node->data = item;
new_node->link = NULL;

if ((*front) == NULL)
{
(*front) = new_node;
(*rear) = new_node;
}
else
{
(*rear)->link = new_node;
(*rear) = new_node;
}
return;
}
/********** Function Definition ends **********/


/********** Deleting element from queue **********/
/********** Function Definition begins **********/
void dequeue(node **front)
{
node *temp;

if((*front) != NULL)
{
temp = *front;
(*front) = (*front)->link;
free(temp);
}
return;
}
/********** Function Definition ends **********/


/********** Displaying elements of queue **********/
/********** Function Definition begins **********/
void display(node *record)
{
printf(“\nRoot”);
while (record != NULL)
{
printf(“-> %d”,record->data);
record = (record->link);
}
printf(“->NULL\n”);
return;
}
/********** Function Definition ends **********/

? OUTPUT
Program of queue using linked list
Menu
1.enqueue
2.dequeue
3.display
4.exit
Enter choice : 1
Enter an data to be enqueueed : 11

Menu
1.enqueue
2.dequeue
3.display
4.exit
Enter choice : 1
Enter an data to be enqueueed : 22
Menu
1.enqueue
2.dequeue
3.display
4.exit
Enter choice : 1
Enter an data to be enqueueed : 33
Menu
1.enqueue
2.dequeue
3.display
4.exit
Enter choice : 3
**** Queue *****
Root-> 11-> 22-> 33->NULL
Menu
1.enqueue
2.dequeue
3.display
4.exit
Enter choice : 2
Menu
1.enqueue
2.dequeue
3.display
4.exit
Enter choice : 2
Menu
1.enqueue
2.dequeue
3.display
4.exit
Enter choice : 3
**** Queue *****
Root-> 33->NULL
Menu
1.enqueue
2.dequeue
3.display
4.exit
Enter choice : 2
Menu
1.enqueue
2.dequeue
3.display
4.exit
Enter choice :3
**** Queue *****
Root->NULL
Menu
1.enqueue
2.dequeue
3.display
4.exit
Enter choice : 4




Responses


No responses found. Be the first to respond and make money from revenue sharing program.

Feedbacks      
Popular Tags   What are tags ?   Search Tags  
(No tags found.)

Post Feedback


This is a strictly moderated forum. Only approved messages will appear in the site. Please use 'Spell Check' in Google toolbar before you submit.
You must Sign In to post a response.
Next Resource: working of single linked list
Previous Resource: CAD/CAM
Return to Discussion Resource Index
Post New Resource
Category: Education


Post resources and earn money!
 
Related Resources


Contact Us    Privacy Policy    Terms Of Use   

SpiderWorks Technologies Pvt Ltd. 2006 - 2007 All Rights Reserved.