-
Notifications
You must be signed in to change notification settings - Fork 857
Expand file tree
/
Copy pathStackSort.java
More file actions
32 lines (28 loc) · 811 Bytes
/
StackSort.java
File metadata and controls
32 lines (28 loc) · 811 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package misc;
import java.util.Stack;
public class StackSort {
public static Stack<Integer> sortStack(Stack<Integer> input) {
Stack<Integer> tmpStack = new Stack<Integer>();
while (!input.isEmpty()) {
int tmp = input.pop();
System.out.println("Element taken out: " + tmp);
while (!tmpStack.isEmpty() && tmpStack.peek() > tmp) {
input.push(tmpStack.pop());
}
tmpStack.push(tmp);
System.out.println("Input: " + input);
System.out.println("Temporary Stack: " + tmpStack);
}
return tmpStack;
}
public static void main(String[] args) {
Stack<Integer> input = new Stack<Integer>();
input.add(6);
input.add(4);
input.add(5);
input.add(9);
input.add(2);
System.out.println("Input: " + input);
System.out.println("\nFinal sorted Stack: " + sortStack(input));
}
}