Home > Java > javaTutorial > Java program to sort the elements of a given stack in ascending order

Java program to sort the elements of a given stack in ascending order

Barbara Streisand
Release: 2025-02-07 11:34:12
Original
276 people have browsed it

Java program to sort the elements of a given stack in ascending order

This tutorial will guide you how to sort stack elements in ascending order using Java. Stacks are the basic data structures in computer science, following the last-in-first-out (LIFO) principle.

We will break down a simple and efficient method that uses an additional temporary stack, provides detailed step-by-step instructions, and includes a complete code example. This tutorial is ideal for those who want to enhance their understanding of stack operations and improve their Java programming skills.

Sort the stack in ascending order using Java

The stack is like a pile of books, you can only take the top one. That is, the stack is stored in first-out (LIFO) mode. The last item added is the first item removed. Here are the steps to sort stack elements using the auxiliary stack:

Step 1: Create a temporary stack We will temporarily store the sorted elements here.

Step 2: Sort Elements To sort stack elements, follow these steps:

  • When the original stack contains items.
  • Remove the top item from the original stack.
  • If the temporary stack is not empty and its top item is larger than the one you just fetched, move the items of the temporary stack back to the original stack until you can put your project on the top.
  • Put the items you removed into the temporary stack.

Step 3: Move back to the original stack Once all items are in the temporary stack, move them back to the original stack. Now, they are sorted!

Example

The following is an example:

import java.util.Stack;

public class StackSorter {
    public static void sortStack(Stack<Integer> stack) {
        Stack<Integer> tempStack = new Stack<>();

        while (!stack.isEmpty()) {
            int temp = stack.pop();

            while (!tempStack.isEmpty() && tempStack.peek() > temp) {
                stack.push(tempStack.pop());
            }
            tempStack.push(temp);
        }

        while (!tempStack.isEmpty()) {
            stack.push(tempStack.pop());
        }
    }

    public static void main(String[] args) {
        Stack<Integer> stack = new Stack<>();
        stack.push(34);
        stack.push(3);
        stack.push(31);
        stack.push(98);
        stack.push(92);
        stack.push(23);

        System.out.println("原始堆栈: " + stack);
        sortStack(stack);
        System.out.println("已排序堆栈: " + stack);
    }
}
Copy after login

Conclusion

With another stack, you can easily sort stack elements in ascending order without complex algorithms.

The above is the detailed content of Java program to sort the elements of a given stack in ascending order. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Latest Issues
Install JAVA
From 1970-01-01 08:00:00
0
0
0
Unable to install java
From 1970-01-01 08:00:00
0
0
0
Can java be used as the backend of the web?
From 1970-01-01 08:00:00
0
0
0
Is this in Java language?
From 1970-01-01 08:00:00
0
0
0
Help: JAVA encrypted data PHP decryption
From 1970-01-01 08:00:00
0
0
0
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template