Sunday 6 February 2011

circular queue

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

0 comments:

Post a Comment

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Grants For Single Moms