aboutsummaryrefslogtreecommitdiffstats
path: root/csci1913/Java/lab11_strap012.java
diff options
context:
space:
mode:
Diffstat (limited to 'csci1913/Java/lab11_strap012.java')
-rw-r--r--csci1913/Java/lab11_strap012.java115
1 files changed, 0 insertions, 115 deletions
diff --git a/csci1913/Java/lab11_strap012.java b/csci1913/Java/lab11_strap012.java
deleted file mode 100644
index 7eb146a..0000000
--- a/csci1913/Java/lab11_strap012.java
+++ /dev/null
@@ -1,115 +0,0 @@
-class Deque<Base> {
- private Node head;
- private class Node {
- private Base object;
- private Node left;
- private Node right;
- private Node(Base o, Node l, Node r) {
- object = o;
- left = l; right = r;
- }
- }
- public Deque() {
- head = new Node(null, null, null);
- head.left=head; head.right=head;
- }
- public void enqueueRear(Base object) {
- Node tempL = head;
- Node newNode = new Node(object, tempL.left, tempL);
- tempL.left.right = newNode;
- tempL.left = newNode;
- }
- 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==head && head.left==head;
- }
-}
-
-// OBSERVATION DEQUE. Test the class DEQUE. 40 points total.
-class ObservationDeque{
-// MAIN. Test the DEQUE on various example arguments.
- public static void main(String [] args) {
- Deque<String> deque = new Deque<String>();
- System.out.println(deque.isEmpty()); // true 2 points.
- try {
- System.out.println(deque.dequeueFront());
- } catch (IllegalStateException ignore) {
- System.out.println("No dequeueFront."); // No dequeueFront. 2 points.
- }
- try { System.out.println(deque.dequeueRear());
- } catch (IllegalStateException ignore) {
- System.out.println("No dequeueRear."); // No dequeueRear. 2 points.
- }
-//Enqueueing to the rear and dequeueing from the rear makes the DEQUE act
-// like a stack.
- deque.enqueueRear("A");
- deque.enqueueRear("B");
- deque.enqueueRear("C");
-
- System.out.println(deque.isEmpty()); // false 2 points.
-
- System.out.println(deque.dequeueRear()); // C 2 points.
- System.out.println(deque.dequeueRear()); // B 2 points.
- System.out.println(deque.dequeueRear()); // A 2 points.
- System.out.println(deque.isEmpty()); // true 2 points.
-// Enqueueing to the rear and dequeueing from the front makes the DEQUE act
-// like a queue.
- deque.enqueueRear("A");
- deque.enqueueRear("B");
- deque.enqueueRear("C");
-
- System.out.println(deque.dequeueFront()); // A 2 points.
- System.out.println(deque.dequeueFront()); // B 2 points.
- System.out.println(deque.dequeueFront()); // C 2 points.
-
- System.out.println(deque.isEmpty()); // true 2 points.
-//Enqueueing to the front and dequeueing from the front makes the DEQUE act
-//like a stack.
- deque.enqueueFront("A");
- 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()); // A 2 points.
-
- System.out.println(deque.isEmpty()); // true 2 points.
-
-// Enqueueing to the front and dequeueing from the rear makes the DEQUE act
-// like a queue.
- deque.enqueueFront("A");
- deque.enqueueFront("B");
- deque.enqueueFront("C");
-
- System.out.println(deque.dequeueRear()); // A 2 points.
- System.out.println(deque.dequeueRear()); // B 2 points.
- System.out.println(deque.dequeueRear()); // C 2 points.
-
- System.out.println(deque.isEmpty()); // true 2 points.
- }
-} \ No newline at end of file