Advertisement
Guest User

Dynamic queue

a guest
Nov 21st, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. public class DynamicQueue {
  2.  
  3. private static class Node {
  4.  
  5. private Object element;
  6. private Node next;
  7.  
  8. public Node(Object element, Node next) {
  9. this.element = element;
  10. next.next = next;
  11. }
  12.  
  13. Node(Object element) {
  14. this.element = element;
  15. this.next = null;
  16. }
  17.  
  18. }
  19.  
  20. private Node head;
  21. private Node tail;
  22. private int count;
  23.  
  24. public DynamicQueue() {
  25. this.head = null;
  26. this.tail = null;
  27. count = 0;
  28. }
  29.  
  30. public void add(Object element) {
  31.  
  32. if(head == null) {
  33. head = new Node(element);
  34. tail = head;
  35. } else {
  36. Node node = new Node(element, tail);
  37. tail = node;
  38. }
  39. count++;
  40. }
  41.  
  42. public Object poll() {
  43.  
  44. Object polledElement = head.element;
  45.  
  46. count--;
  47. if(count == 0) {
  48. tail = null;
  49. head = null;
  50. } else {
  51. int counter = 0;
  52. DynamicQueue.Node iterator = head;
  53. while (counter + 1 != count) {
  54. head = iterator;
  55. iterator = iterator.next;
  56. counter++;
  57. }
  58. }
  59.  
  60. return polledElement;
  61.  
  62. }
  63.  
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement