Data Structures and Algorithms in C++
Data Structures and Algorithms in C++
2nd Edition
ISBN: 9780470383278
Author: Michael T. Goodrich
Publisher: Wiley, John & Sons, Incorporated
bartleby

Concept explainers

Expert Solution & Answer
Book Icon
Chapter 5, Problem 3C

Explanation of Solution

Basic operation in double ended queue:

  • The double ended queue is a queue that allows insertion and deletion at both its ends.
  • The basic operations in double ended queue are following,
    • insetFront(): Adds an item at the front of Deque.
    • insertRear(): Adds an item at the rear of Deque.
    • deleteFront(): Deletes an item from front of Deque.
    • deleteRear(): Deletes an item from rear of Deque.

Pseudo code for insertion at front:

//check the queue is full or not

  1. 1) First check if queue is not already full

//if the conditionis true

2) IF Front == 0 || initial position, then move Front

        to point last index of array

        //means decreasing size by 1

        front = size – 1

//if the condition is false

    Else decremented front by '1' and push

        //Set Arr[Front] as key

        current key into Arr[ Front] = key

        so the Rear remain same.

Explanation:

The above pseudo code is used to insert the element at the front of a double ended queue. In the code,

  • Check that the queue is already full or not.
  • If the value of “Front” is zero or it is an initial position, move the “Front”.
    • Decrement the value of “size” by 1 and set this value to “Front”.
  • If the value of “Front” is not equal to zero,
    • Set the value of “Arr[]” as “key”.

Pseudo code for insertion at rear:

//check the queue is full or not

1) First check if queue is not already full

//if the value of rear is size-1

2) IF Rear == Size-1

        //set the value of Rear

        then set Rear = 0 ;

//if the value of rear is not size-1 increment Rear

Else increase Rear by '1'

        //Set Arr[Front] as key

        and add current key into Arr[ rear ] = key

        Front remain same.

Explanation:

The above pseudo code is used to insert the element at the rear of a double ended queue. In the code,

  • Check that the queue is already full or not.
  • If the value of “Rear” is “size-1”.
    • Set “Rear” as “0”.
  • If the value of “Rear” is not equal to “size-1”, increment “Rear” by 1...

Blurred answer
Students have asked these similar questions
CPS 2390 Extra Credit Assignment For each problem, choose the best answer and explain how you arrived at your answer. (15 points each.) 1.If control is redirected to location x4444 after the execution of the following instructions, what should have been the relationship between R1 and R2 before these instructions were executed? Address Instruction x4400 1001100010111111 x4401 0001100100100001 x4402 0001100001000100 x4403 0000100001000000 A. R1 R2 (R1 was greater than R2) B. R1 R2 (R2 was greater than R1) C. R1 R2 (R1 and R2 were equal) = D. Cannot be determined with the given information. 2. If the value stored in RO is 5 at the end of the execution of the following instructions, what can be inferred about R5? Address x3000 Instruction 0101000000100000 x3001 0101111111100000 x3002 0001110111100001 x3003 0101100101000110 x3004 0000010000000001 x3005 0001000000100001 x3006 0001110110000110 x3007 0001111111100001 x3008 0001001111111000 x3009 0000100111111000 x300A 0101111111100000 A. The…
Need help writing code to answer this question in Python! (image attached)
Need help with python code! How do I simplify my code for a beginner to understand, simple fixed format and centering? Such as:  print(f"As an int variable: {age_int:^7}") print(f"In numeric binary: {age_int:^7b}") My Code:name = input("Enter your name: ")print(f"In text name is: {' '.join(name)}")decimal_values = []binary_values = []for letter in name:   ascii_val = ord(letter)   binary_val = format(ascii_val, '08b')   decimal_values.append(str(ascii_val))   binary_values.append(binary_val)# Loop through each letter:print(f"In ASCII decimal: {' '.join(decimal_values)}")print(f"In ASCII binary: {' '.join(binary_values)}")# Ageage_str = input("Enter your age: ")age_int = int(age_str)print(f"As a string \"{age_str}\": {' '.join(age_str)}")age_decimal_values = []age_binary_values = []for digit in age_str:   ascii_val = ord(digit)   binary_val = format(ascii_val, '07b')   age_decimal_values.append(str(ascii_val))   age_binary_values.append(binary_val)print(f"In ASCII decimal: {'…
Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education