4) CIRCULAR QUEUE :
7) Procedure ( VAL )
[Description]
Step 1: [Check Queue is overflow or not]
If REAR = 0 AND REAR=SIZE – 1
Then
Write (‘Overflow…..’)
Return
If REAR = FRONT -1
Then
Write (‘Overflow…..’)
Return
Step 2: [If needed Reset the pointer, and insert value]
If REAR = SIZE – 1
Then
REAR = 0
Q [REAR] VAL
Else If REAR= -1
Then
REAR FRONT 0
Q [REAR] VAL
Else
REAR REAR +1
Q [REAR] VAL
Step 3: [Finished]
Return
--------------------------------------------------------------------------------------------
8) Function DELETE ( )
[Description]
Step 1: [Check Queue is empty or not]
If FRONT < 0
Then
Write (‘Queue Underflow……’)
Return -1
Step 2: [Delete an element]
VAL Q [FRONT]
Step 3: [Queue Empty?]
If FRONT = REAR
Then
FRONT REAR -1
Else If FRONT = SIZE – 1
Then
FRONT 0
Else
FRONT FRONT + 1
Step 4: [Return the Deleted element]
Return VAL
----------------------------------------------------------------------------------------------
9) Procedure PRINT
[Description]
Step 1: [Check Queue is empty or not]
If FRONT < 0
Then
Write (‘Underflow…..’)
Return
Step 2: [Print the element of Queue]
If FRONT < = REAR
Then
Repeat for I = FRONT, FRONT+1…… I < = REAR
Write Q [I]
Else
Repeat for I = FRONT, FRONT+1…… I < SIZE
Write Q [I]
Repeat for I = 0, 1….I < = REAR
Write Q [I]
Step 3: [Finished]
Return
Sunday, 6 February 2011
circular queue


0 comments:
Post a Comment