From a7def834fbd801f2e9359eff774dda91eea1490f Mon Sep 17 00:00:00 2001 From: RossTheRoss Date: Wed, 27 Nov 2019 16:44:00 -0600 Subject: End me --- csci1913/Java/lab11_strap012.java | 42 +++++++++++++++++++++++++++++---------- 1 file changed, 31 insertions(+), 11 deletions(-) (limited to 'csci1913/Java/lab11_strap012.java') diff --git a/csci1913/Java/lab11_strap012.java b/csci1913/Java/lab11_strap012.java index 6b4bbb5..7eb146a 100644 --- a/csci1913/Java/lab11_strap012.java +++ b/csci1913/Java/lab11_strap012.java @@ -4,7 +4,7 @@ class Deque { private Base object; private Node left; private Node right; - private Node(Base o,Node l,Node r) { + private Node(Base o, Node l, Node r) { object = o; left = l; right = r; } @@ -12,21 +12,41 @@ class Deque { public Deque() { head = new Node(null, null, null); head.left=head; head.right=head; - } - public void enqueueFront(Base object) { - } public void enqueueRear(Base object) { - + Node tempL = head; + Node newNode = new Node(object, tempL.left, tempL); + tempL.left.right = newNode; + tempL.left = newNode; } - public Base dequeueFront() { - + public void enqueueFront(Base object) { + Node tempR = head; + Node newNode = new Node(object, tempR, tempR.right); + tempR.right.left = newNode; + tempR.right = newNode; } public Base dequeueRear() { - + if (isEmpty()) { + throw new IllegalStateException(); + } else { + Node temp = head.left; + temp.left.right = head; + head.left = temp.left; + return temp.object; + } + } + public Base dequeueFront() { + if (isEmpty()) { + throw new IllegalStateException(); + } else { + Node temp = head.right; + temp.right.left = head; + head.right = temp.right; + return temp.object; + } } public Boolean isEmpty() { - return head.right==null && head.left==null; + return head.right==head && head.left==head; } } @@ -74,8 +94,8 @@ class ObservationDeque{ deque.enqueueFront("B"); deque.enqueueFront("C"); - System.out.println(deque.dequeueFront()); // C 2 - points. System.out.println(deque.dequeueFront()); // B 2 points. + System.out.println(deque.dequeueFront()); // C 2 points. + System.out.println(deque.dequeueFront()); // B 2 points. System.out.println(deque.dequeueFront()); // A 2 points. System.out.println(deque.isEmpty()); // true 2 points. -- cgit v1.2.3