All Downloads are FREE. Search and download functionalities are using the official Maven repository.

aima.core.util.datastructure.LIFOQueue Maven / Gradle / Ivy

Go to download

AIMA-Java Core Algorithms from the book Artificial Intelligence a Modern Approach 3rd Ed.

There is a newer version: 3.0.0
Show newest version
package aima.core.util.datastructure;

import java.util.Collection;
import java.util.LinkedList;

/**
 * Artificial Intelligence A Modern Approach (3rd Edition): pg 80.
*
* Last-in, first-out or LIFO queue (also known as a stack), which pops the * newest element of the queue; * * @author Ravi Mohan * @author Ciaran O'Reilly */ public class LIFOQueue extends LinkedList implements Queue { private static final long serialVersionUID = 1; public LIFOQueue() { super(); } public LIFOQueue(Collection c) { super(c); } // // START-Queue public boolean isEmpty() { return 0 == size(); } @Override public E pop() { return poll(); } public void push(E element) { addFirst(element); } public Queue insert(E element) { if (offer(element)) { return this; } return null; } // END-Queue // // // START-Override LinkedList methods in order for it to behave in LIFO // order. @Override public boolean add(E e) { addFirst(e); return true; } @Override public boolean addAll(Collection c) { return addAll(0, c); } @Override public boolean offer(E e) { add(0, e); return true; } // End-Override LinkedList methods in order for it to behave like a LIFO. // }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy