Queue Front Rear Enqueue Queue Overflow 1 10

  • Slides: 41
Download presentation

ควธรรมดา (Queue) Front Rear

ควธรรมดา (Queue) Front Rear

การนำขอมลเขา Enqueue Queue Overflow 1 10 2 3 4 20 30 40 R R

การนำขอมลเขา Enqueue Queue Overflow 1 10 2 3 4 20 30 40 R R F=R=0 F R R

การนำขอมลเขา 1 2 A B F=R=0 FR R Enqueue 3 4 5 6 C

การนำขอมลเขา 1 2 A B F=R=0 FR R Enqueue 3 4 5 6 C D E R R R Front =1 Rear =1 0 H 9 I Ma 10 x J R R R 7 F G 8 R R Queue Overflow

Queue : Array Implementation � การนำสมาชกเขาคว Empty queue front = rear =Enqueue(A 0 )

Queue : Array Implementation � การนำสมาชกเขาคว Empty queue front = rear =Enqueue(A 0 ) A front rea r Enqueue(B ) front A B rea r (enqueue)

Queue : Array Implementation � การนำสมาชกเขาคว )ตอEnqueue ( (C) A B front Enqueue (D)

Queue : Array Implementation � การนำสมาชกเขาคว )ตอEnqueue ( (C) A B front Enqueue (D) A B (enqueue) C rea r C front Enqueue (E) Error : Overflow D rea r

การนำขอมลออก Dequeue 1 2 A B F=R=0 F F 3 4 5 6 C

การนำขอมลออก Dequeue 1 2 A B F=R=0 F F 3 4 5 6 C D E F Front =10 1 Rear = 0 9 Ma 10 x J 7 F G 8 H I F F FR Queue Underflow

การนำขอมลออก Dequeue 1 2 3 4 10 20 30 40 F=R=0 F F Queue

การนำขอมลออก Dequeue 1 2 3 4 10 20 30 40 F=R=0 F F Queue Underflow F F R

Queue : Array Implementation � การนำสมาชกออกจากคว A B C D rea r front dequeue

Queue : Array Implementation � การนำสมาชกออกจากคว A B C D rea r front dequeue B C front dequeue D rea r C D fron rea (dequeue)

Queue : Array Implementation � การนำสมาชกออกจากคว dequeue )ตอ ( dequeue fron t front =

Queue : Array Implementation � การนำสมาชกออกจากคว dequeue )ตอ ( dequeue fron t front = rear =0 dequeue Error : Underflow (dequeue) D rea r

Circular Queue � การนำขอมลเขาคววงกลม D E front rea r Enqueue(A D E )A rea

Circular Queue � การนำขอมลเขาคววงกลม D E front rea r Enqueue(A D E )A rea front r Enqueue(B D )A B rea front E

Circular Queue � การนำสมาชกออกจากคววงกลม A B D E rea fron t r Dequeue A

Circular Queue � การนำสมาชกออกจากคววงกลม A B D E rea fron t r Dequeue A B rea r Dequeue A B fron rea E front

Circular Queue front=1 F G H I J rear=5

Circular Queue front=1 F G H I J rear=5

rear=12 Circular Queue Enqueue front=1 O P Q F G N Queue is Full

rear=12 Circular Queue Enqueue front=1 O P Q F G N Queue is Full M L rear=7 H I K J rear=6 rear=5

rear=12 Circular Queue front=1 O Dequeue P Q front=2 F N G M H

rear=12 Circular Queue front=1 O Dequeue P Q front=2 F N G M H L I K J 2 rooms available front=3

rear=12 Circular Queue rear=1 O Enqueue N P Q S Queue is Full M

rear=12 Circular Queue rear=1 O Enqueue N P Q S Queue is Full M L H I K J rear=2 R front=3

Array Implementation J F G H I rear=1 front=4 subprogram enqueue (datatype newdata) 1.

Array Implementation J F G H I rear=1 front=4 subprogram enqueue (datatype newdata) 1. rear+1 2. if (rear == maxq) 2. 1 rear 1 3. return

Array Implementation J rear=1 F G H I front=4 subprogram dequeue (datatype olddata) 1.

Array Implementation J rear=1 F G H I front=4 subprogram dequeue (datatype olddata) 1. front+1 2. if (front == maxq) 2. 1 front 1 3. return

Priority Queue. . . front = 1 rear = 5

Priority Queue. . . front = 1 rear = 5