Beruflich Dokumente
Kultur Dokumente
Example :
empty queue
f=0,r=-1
0
20
30
Circular queue
Priority queue
Queues(ordinary queues):
Insert at the rear end:
Before insert :
0
10
f
After insert :
0
10
20
30
40
r
1
20
30
40
50
r=r+1
q[r] = item.
Kiran Sir Naresh IT vkiransrinivas@yahoo.co.in
http://kiransrinivas@wordpress.com
Queues(ordinary queues):
delete at the front end:
Before delete :
0
10
20
f
After delete :
0
30
40
r
1
20
30
40
50
1
20
2
30
3
40
4
50
Scanf(%d,&choice);
Switch(choice)
{
Case 1:
Printf(enter the item to be inserted );
Scanf(%d, &item);
insert_rear();
break;
Case 2:
delete_front();
break;
Case 3:
display();
break;
Default:
exit(0);
}
}
Kiran}Sir Naresh IT vkiransrinivas@yahoo.co.in
http://kiransrinivas@wordpress.com
r=-1 f=0
0
After insert
1
2
10
f,r
if ( f == 0 && r == -1 )
{
q[++r] = item;
Kiran Sir Naresh IT vkiransrinivas@yahoo.co.in
return ;
}
http://kiransrinivas@wordpress.com
f
0
20
30
r
After deleting two elements
1
2
3
4
30
fr
Now, insert at front end,
0
1
20
30
f
r
if ( f != 0 )
{
q[--f] = item;
return;
10
20
30
f
0
10
20
30
r
After delete
1
2
20
void delete_rear()
{
if (f > r)
{
printf(Queue Underflow);
return;
}
printf(The element deleted is %d, q[r--] );
if ( f > r)
{
f = 0;
r = -1;
}
}
Kiran Sir Naresh IT vkiransrinivas@yahoo.co.in
http://kiransrinivas@wordpress.com
30
40
4
50
Circular Queues:
10
f,r
Kiran Sir Naresh IT vkiransrinivas@yahoo.co.in
http://kiransrinivas@wordpress.com
20
30
f
After inserting 40 and 50
0
1
10
20
f
After deleting 10 and 20
0
1
30
40
50
r
2
30
40
50
f
After inserting 60
0
60
2
30
3
40
4
50
*Insert rear
*Delete front
*Display
Scanf(%d, &choice);
Switch(choice)
{
Case1 : printf( enter the item to be inserted);
Scanf(%d, &item);
insert_rear(item,q, r, count);
break;
Case2 : delete_front(q,f,count);
break;
Case3 : display(q,f,count);
break;
default : exit(0);
}
}
}
Priority Queues:
The priority queue is a special type of data structure in
which items can be inserted or deleted based on the priority.
Always an element with highest priority is processed
before processing any of the lower priority elements.