Advertisement
porteno

Q3

Dec 20th, 2019
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. import Adt.Node;
  2. import Adt.Queue;
  3. public class Q3 {
  4.  
  5. public static void main(String[] args) {
  6. Queue<Integer> q1 = new Queue<Integer>();
  7. q1.insert(2);
  8. q1.insert(5);
  9. q1.insert(6);
  10. q1.insert(9);
  11. q1.insert(1);
  12. q1.insert(3);
  13. q1.insert(7);
  14.  
  15. System.out.println("before:");
  16. printQueue(q1);
  17. Queue<Integer>resQ = middleQ(q1,3);
  18. printQueue(resQ);
  19.  
  20. }
  21.  
  22. public static Queue<Integer> middleQ(Queue<Integer> q, int m) {
  23. Queue<Integer> tmpQ = new Queue<Integer>();
  24. Queue<Integer> midQ = new Queue<Integer>();
  25. Queue<Integer> frst_midQ = midQ;
  26.  
  27. int size = countQ(q);
  28. int middle = (size-m)/2;
  29. int val=0;
  30. for (int i = 0; i < size; i++) {
  31. val = q.remove();
  32. if(i>=middle && m>0) {
  33. midQ.insert(val);
  34. tmpQ.insert(val);
  35. m--;
  36. }
  37. else
  38. tmpQ.insert(val);
  39. }
  40. while(!tmpQ.isEmpty()) {
  41. q.insert(tmpQ.remove());
  42. }
  43. return midQ;
  44.  
  45. }
  46. /*
  47. * input - queue of integers
  48. * return - size of queue
  49. */
  50. public static int countQ(Queue<Integer> q) {
  51. Queue<Integer> tmp = new Queue<Integer>();
  52. int size = 0;
  53. while(!q.isEmpty()) {
  54. size++;
  55. tmp.insert(q.remove());
  56. }
  57. while(!tmp.isEmpty()) {
  58. q.insert(tmp.remove());
  59. }
  60. return size;
  61. }
  62. /*
  63. * input - queue of integers
  64. * output - print queue
  65. */
  66. public static void printQueue(Queue<Integer> q) {
  67. Queue<Integer> tmp = new Queue<Integer>();
  68. System.out.print(" ");
  69. while(!q.isEmpty()) {
  70. System.out.print(q.head()+"|");
  71. tmp.insert(q.remove());
  72. }
  73. while(!tmp.isEmpty()) {
  74.  
  75. q.insert(tmp.remove());
  76. }
  77. System.out.println("null");
  78.  
  79. }
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement