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
What is the worst case time complexity of the following algorithm for i = 1 to x do  for j = 2^((i-1)x) to 2^(in) do print(i,j)
Prove for each pair of expression f(n) and g(n) whether f(n) is big O, little o Ω,ω or Θ of g(n). For each case it is possible that more than one of these conditions is satisfied:1. f(n) =log(n2^n), g(n) = log(sqrt(n)2^(n^2))2. f(n) =nsqrt(n) +log(n^n), g(n) =n + sqrt(n)logn
I need to make a parallel version of this sequential code
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