Building Java Programs: A Back To Basics Approach (5th Edition)
Building Java Programs: A Back To Basics Approach (5th Edition)
5th Edition
ISBN: 9780135471944
Author: Stuart Reges, Marty Stepp
Publisher: PEARSON
Question
Book Icon
Chapter 14, Problem 1E
Program Plan Intro

Rearrange stack of integers

Program plan:

  • Import necessary packages.
  • Create a class “StackSplit”,
    • Define the method “splitstack ()” that accepts stack of integers,
      • Construct “LinkedList” object.
      • Calculate the stack size.
      • Execute till stack is empty,
        • Transfer all the stack elements from stack to queue.
      • Execute loop till the stack size,
        • Assign the element removed from the queue to the variable.
        • Check whether the element is negative,
          • Insert the element into the stack.
            • Otherwise,
              • Insert the element into the queue.
      • Execute till queue is empty,
        • Transfer non-negative integers from queue to stack.
      • Print stack of integers after rearranged.
    • Define the method “main()”,
      • Create object for “Stack”.
      • Add integers into the stack.
      • Print the stack of integers.
      • Call the method “splitStack()” with stack as parameter.

Expert Solution & Answer
Check Mark
Program Description Answer

This program demonstrates the method that accepts a stack of integers and rearranges its elements.

Explanation of Solution

Program:

File name: “StackSplit.java”

//Import necessary packages

import java.util.LinkedList;

import java.util.Queue;

import java.util.Stack;

//Create a class

class StackSplit

{

    //Define the method

    public static void splitStack(Stack<Integer> s)

    {

        //Construct LinkedList object

        Queue<Integer> q1 = new LinkedList<Integer>();

        //Calculate the stack size 

        int old_Length = s.size();

        //Execute till stack is empty

        while (!s.isEmpty())

        {

            //Transfer all elements from stack to queue

            q1.add(s.pop());

        }

        //Execute till the stack size

        for (int i = 1; i <= old_Length; i++)

        {

            //Assign the element removed from the queue

            int n1 = q1.remove();

            //check whether the element is negative

            if (n1 < 0)

            {

                //Insert the element into the stack

                s.push(n1);

            }

            else

            {

                //Insert the element into the queue

                q1.add(n1);

            }

        }

        //Execute till queue is empty

        while (!q1.isEmpty())

        {

/*Transfer non-negative integers from queue to stack*/

                s.push(q1.remove());

        }

         //Print stack of integers

System.out.println("The elements of a stack of integers after rearranged: "+s);

    }

    //Define the main() method

    public static void main(String[] args)

    {

        //Create object for Stack

        Stack<Integer> s1=new Stack<Integer>();

        //Add the integers into the stack

        s1.push(3);

        s1.push(-5);

        s1.push(1);

        s1.push(2);

        s1.push(-4);

        //Print the stack of integers

System.out.println("The elements of a stack of integers: "+s1);

        //Call the method

        splitStack(s1);

    }

}

Sample Output

Output:

The elements of a stack of integers: [3, -5, 1, 2, -4]

The elements of a stack of integers after rearranged: [-4, -5, 2, 1, 3]

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!
Knowledge Booster
Background pattern image
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