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
Expert Solution
Check Mark
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.

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.
Expert Solution
Check Mark

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.

Expert Solution
Check Mark

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
Draw out an example of 3 systems using Lamport’s logical clock and explain the steps in words.
"Systems have become very powerful and sophisticated, providing quality information fordecisions that enable the firm to coordinate both internally and externally."With reference to the above statement compare the operations of any three data gatheringsystems today’s organisations use to aid decision making.
labmas Course Home XDocument courses/13810469/menu/a2c41aca-b4d9-4809-ac2e-eef29897ce04 There are three ionizable groups (weak acids and/or bases) in glutamic acid. Label them on the structure below Drag the appropriate labels to their respective targets. OOH [] CH3N CH CH2 CH2 IC HO Reset Help
Knowledge Booster
Background pattern image
Similar questions
    SEE MORE QUESTIONS
    Recommended textbooks for you
    Text book image
    C++ Programming: From Problem Analysis to Program...
    Computer Science
    ISBN:9781337102087
    Author:D. S. Malik
    Publisher:Cengage Learning
    Text book image
    Systems Architecture
    Computer Science
    ISBN:9781305080195
    Author:Stephen D. Burd
    Publisher:Cengage Learning
    Text book image
    New Perspectives on HTML5, CSS3, and JavaScript
    Computer Science
    ISBN:9781305503922
    Author:Patrick M. Carey
    Publisher:Cengage Learning
    Text book image
    EBK JAVA PROGRAMMING
    Computer Science
    ISBN:9781337671385
    Author:FARRELL
    Publisher:CENGAGE LEARNING - CONSIGNMENT
    Text book image
    Programming Logic & Design Comprehensive
    Computer Science
    ISBN:9781337669405
    Author:FARRELL
    Publisher:Cengage
    Text book image
    C++ for Engineers and Scientists
    Computer Science
    ISBN:9781133187844
    Author:Bronson, Gary J.
    Publisher:Course Technology Ptr