Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2019
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. import java.util.LinkedList;
  2. import java.util.Queue;
  3. import java.util.Stack;
  4.  
  5. public class ReversingHalf {
  6. public static void main(String[] args){
  7. Queue<Integer> q = new LinkedList<>();
  8. q.add(1);
  9. q.add(8);
  10. q.add(7);
  11. q.add(2);
  12. q.add(9);
  13. q.add(18);
  14. q.add(12);
  15. q.add(0);
  16. reverseHalf(q);
  17. System.out.println(q);
  18. }
  19.  
  20. public static void reverseHalf(Queue<Integer> q){
  21. Stack<Integer> storage = new Stack<>();
  22. int origSize = q.size();
  23.  
  24. for (int i = 0; i < origSize; i++){
  25. if (i % 2 == 1){
  26. storage.push(q.remove());
  27. } else {
  28. q.add(q.remove());
  29. }
  30. }
  31. while (!storage.isEmpty()){
  32. q.add(q.remove());
  33. q.add(storage.pop());
  34. }
  35. if (origSize % 2 == 1){
  36. q.add(q.remove());
  37. }
  38. }
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement