EBK DATA STRUCTURES AND ALGORITHMS IN C
EBK DATA STRUCTURES AND ALGORITHMS IN C
4th Edition
ISBN: 9781285415017
Author: DROZDEK
Publisher: YUZU
Question
Book Icon
Chapter 4, Problem 1E
Program Plan Intro

Stack:

Stack is a container in which elements inserted and removed in LIFO (Last In First Out) manner.

  • “top” is address of top element of stack. 
  • Basic stack operations are given below:
    • push(): Insert an object into stack top.
    • pop(): Delete object in stack top.
    • top(): Get object in stack top.

Expert Solution
Check Mark

Explanation of Solution

  1. a.

Given stack is “S” and the additional stacks are “S1” and “S2”.

The elements in stack “S” can be reverse as shown below:

  • First pop each element from “S” and push it into “S1” till “S” becomes empty.
  • Pop each element from “S1” and push it into “S2” till “S1” becomes empty.
  • Pop each element from “S2” and push it into “S” till “S2” becomes empty.
  • Now “S” contains elements in reverse order.

Example,

Initially “S” contains 1, 2, 3 and 4.

First pop each element from “S” and push it into “S1”.

EBK DATA STRUCTURES AND ALGORITHMS IN C, Chapter 4, Problem 1E , additional homework tip  1

Then pop each element from “S1” and push it into “S2”.

EBK DATA STRUCTURES AND ALGORITHMS IN C, Chapter 4, Problem 1E , additional homework tip  2

Last pop each element from “S2” and push it into “S”.

EBK DATA STRUCTURES AND ALGORITHMS IN C, Chapter 4, Problem 1E , additional homework tip  3

Finally “S” contains in reverse order.

Queue:

  • Queue is another data structure in which insertion and removal of elements are in FIFO(First In First Out) manner.
  • Basic operations are given below:
    • Enqueue: Insert element into back of queue.
    • Dequeue: Remove item from queue’s front.

Explanation of Solution

  1. b.

Given stack is “S” and additional queue is “Q”.

The elements in stack “S” can be reverse as shown below:

  • Pop each element from “S” and insert it into “Q” till “S” becomes empty.
  • Delete each element from “Q” and push it into “S” till “Q” becomes empty.
  • Now stack “S” contains elements in reverse order.

Example,

Initially “S” contains 1, 2, 3 and 4.

First pop each element from “S” and insert it into “Q”.

EBK DATA STRUCTURES AND ALGORITHMS IN C, Chapter 4, Problem 1E , additional homework tip  4

Then delete each element from “Q” and push it into “S”.

EBK DATA STRUCTURES AND ALGORITHMS IN C, Chapter 4, Problem 1E , additional homework tip  5

Finally, “S” contains in reverse order.

Explanation of Solution

  1. c.

Given stack is “S”, additional stack is “S1” and additional variables are “Num”, Num2 and “top_element”. The elements in stack “S” can be reverse as shown below.

  • “Num” is number of elements initially in stack “S”.
  • Decrement “Num” by one.
  • Till “Num” becomes zero.
    • Equate “Num” into “Num2”.
    • Pop stack top of “S” and store in “top_element”.
    • Pop “Num2” elements from “S” and push into “S1”.
    • Then push element in “top_element” into “S”.
    • Then pop each element from “S1” and push into “S” till “S1” becomes empty.
    • Decrement value of “Num” by one.
  • Finally “S” contains elements in reverse order.

Example,

Initially “S” contains 1, 2, 3 and 4. Stack contains four elements. So, “Num” is 4. Decrement it by one.

First iteration:

“Num” is 3, pop stack top and store in “top_element”. Then pop other three elements from “S” and push into “S1”.

  • Then push element in “top_element” into “S” and pop each element from “S1” and push into “S”.

EBK DATA STRUCTURES AND ALGORITHMS IN C, Chapter 4, Problem 1E , additional homework tip  6

Second iteration:

“Num” is 2, pop stack top and store in “top_element”. Then pop other two elements from “S” and push into “S1”.

  • Push element in “top_element” into “S” and pop each element from “S1” and push into “S”.

EBK DATA STRUCTURES AND ALGORITHMS IN C, Chapter 4, Problem 1E , additional homework tip  7

Third iteration:

“Num” is 1, pop stack top and store in “top_element”. Then pop one element from “S” and push into “S1”.

  • Push element in “top_element” into “S” and pop each element from “S1” and push into “S”

EBK DATA STRUCTURES AND ALGORITHMS IN C, Chapter 4, Problem 1E , additional homework tip  8

Fourth iteration:

“Num” is 0, exit loop.

Finally, the stack “S” contains elements in reverse order.

Want to see more full solutions like this?

Subscribe now to access step-by-step solutions to millions of textbook problems written by subject matter experts!
Students have asked these similar questions
2. Given the following stack A = { 29,18,10,15,20,9,5,13,2,4,15} Create a queue by taking the elements from the top of the stack and adding them to a queue
Implement a queue Q with two stacks S1 and S2 so that the stacks that work together as a queue may perform operations ENQUEUE(Q, X) and DEQUEUE(Q, Y), where Q is apparently a queue and X is the element to be inserted into Q and Y is the element removed from Q. Assume that the PUSH, POP, and EMPTYSTACK ADT operations are only accessible for stacks.Demonstrate the operation of your method on a list a, b, c, which will be used as a queue by the stacks S1 and S2.
Implement a queue with three stacks so that, in the worst-case scenario, each queue operation requires a fixed number of stack operations. High level of difficulty alert.
Knowledge Booster
Background pattern image
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