Nell’iperspazio con Rocket: il Framework Web di Rust!
Double ended queue
1. DOUBLE ENDED QUEUE (DEQueue)
A queue in which nodes can be added and deleted from both ends
OPERATIONS ON DEQUEUE
INSERTION at FRONT
DELETION at FRONT
INSERTION at REAR
DELETION at REAR
13
11 12
Front Rear
2. DOUBLE ENDED QUEUE (DEQueue)
Insertion at FRONT
CASE 1: DQ Empty
CASE 2: DQ is Non Empty
13
11 12
NN
Front
Rear
1
2
13
11 12
NN
Front Rear
NN
Front Rear
Front
NN
Rear
1
3. DOUBLE ENDED QUEUE (DEQueue)
Insertion at REAR
CASE 1: DQ Empty
CASE 2: DQ is Non Empty
13
11 12
Front Rear
NN
PTR
3
PTR
4
13
11 12
Front Rear
NN
PTR
1
PTR
2
NN
Front Rear
Front
NN
Rear
4. DOUBLE ENDED QUEUE (DEQueue)
Delete from FRONT
CASE 1: DQ Empty
CASE 2: DQ is Not Empty
13
11 12
Front Rear
PTR
2
3
13
11 12
Front Rear
PTR
1
Front
Rear
Message (“No node available to Delete”)
5. DOUBLE ENDED QUEUE (DEQueue)
Delete from REAR end
CASE 1: DQ Empty
CASE 2: DQ is Non-Empty
13
11 12
Front Rear
PTR
2
4
3
13
11 12
Front Rear
PTR
1
Front
Rear
Message (“No node available to Delete”)