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 are the major threats of using the internet? How do you use it? How do children use it? How canwe secure it? Provide four references with your answer. Two of the refernces can be from an article and the other two from websites.
Assume that a string of name & surname is saved in S. The alphabetical characters in S can be in lowercase and/or uppercase letters. Name and surname are assumed to be separated by a space character and the string ends with a full stop "." character. Write an assembly language program that will copy the name to NAME in lowercase and the surname to SNAME in uppercase letters. Assume that name and/or surname cannot exceed 20 characters. The program should be general and work with every possible string with name & surname. However, you can consider the data segment definition given below in your program. .DATA S DB 'Mahmoud Obaid." NAME DB 20 DUP(?) SNAME DB 20 DUP(?) Hint: Uppercase characters are ordered between 'A' (41H) and 'Z' (5AH) and lowercase characters are ordered between 'a' (61H) and 'z' (7AH) in the in the ASCII Code table. For lowercase letters, bit 5 (d5) of the ASCII code is 1 where for uppercase letters it is 0. For example, Letter 'h' Binary ASCII 01101000 68H 'H'…
What did you find most interesting or surprising about the scientist Lavoiser?
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