MaryIvan
Use a tree stack to sort number in java?
0 Answer(s)      3 years and 5 months ago
Posted in : Java Beginners

The Question is : Three stacks can be used to sort a list of numbers. Assuming stack in holds the input list of numbers, stack out is to hold the output list after sorting the numbers and temp is used during the sorting process. The sorting algorithm follows.

1 set up stack in and print it 2 while stack in is not empty repeat 2.1 max = in.pop 2.2 while there are still element in stack in repeat 2.2.1 value = in.pop 2.2.2 if value > max 2.2.2.1 temp.push(max) 2.2.2.2 max = value 2.2.3 else 2.2.3.1 temp.push(value) 2.3 in = temp 2.4 out.push(max) 2.5 temp.clear

3 print sorted stack

this my coding

print("  import java.util.*;

public class MainAssignment3 { public static void main(String[]args) { int Max =0; int Value =0;

LinkedList<Integer>Input=new LinkedList<Integer>(); LinkedList<Integer>Temp=new LinkedList<Integer>(); LinkedList<Integer>OutPut=new LinkedList<Integer>();

Input.addLast(90); Input.addLast(21); Input.addLast(33); Input.addLast(80); Input.addLast(67);

System.out.println("The Input Stack is : " + Input);

while(!Input.isEmpty()) { Max = Input.removeLast(); Value = Input.removeLast();

  System.out.println("MAx: " +Max);
  System.out.println("Value: " +Value);

 if (Value > Max)
 {
  Temp.push(Max);
  Max=Value;

  } else {
  Temp.push(Value);

 }

 Input = Temp;
 OutPut.push(Max);
 Temp.clear();

} System.out.println("The Output Stack is: " + OutPut);

} } ");

the answer i get is

The Input Stack is : [90, 21, 33, 80, 67] MAx: 67 Value: 80

The Output Stack is: [80]

i want to get the sorted stack in Output stack

Advertisement
View Answers