GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — Java/Data Structures/Queues/Queues.java at master · lisaem/Java Expand file tree/ Copy pathQueues.javaMore file actions 148 lines (135 loc) · 3.04 KB / Copy pathQueues.javaFile metadata and controls148 lines (135 loc) · 3.04 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 /** * This implements Queues by using the class Queue. * * A queue data structure functions the same as a real world queue. * The elements that are added first are the first to be removed. * New elements are added to the back/rear of the queue. * * @author Unknown * */ class Queue{ /** Max size of the queue */ private int maxSize; /** The array representing the queue */ private int[] queueArray; /** Front of the queue */ private int front; /** Rear of the queue */ private int rear; /** How many items are in the queue */ private int nItems; /** * Constructor * * @param size Size of the new queue */ public Queue(int size){ maxSize = size; queueArray = new int[size]; front = 0; rear = -1; nItems = 0; } /** * Inserts an element at the rear of the queue * * @param x element to be added * @return True if the element was added successfully */ public boolean insert(int x){ if(isFull()) return false; if(rear == maxSize-1) //If the back of the queue is the end of the array wrap around to the front rear = -1; rear++; queueArray[rear] = x; nItems++; return true; } /** * Remove an element from the front of the queue * * @return the new front of the queue */ public int remove(){ //Remove an element from the front of the queue if(isEmpty()){ System.out.println("Queue is empty"); return -1; } int temp = queueArray[front]; front++; if(front == maxSize) //Dealing with wrap-around again front = 0; nItems--; return temp; } /** * Checks what's at the front of the queue * * @return element at the front of the queue */ public int peekFront(){ return queueArray[front]; } /** * Checks what's at the rear of the queue * * @return element at the rear of the queue */ public int peekRear(){ return queueArray[rear]; } /** * Returns true if the queue is empty * * @return true if the queue is empty */ public boolean isEmpty(){ return(nItems == 0); } /** * Returns true if the queue is full * * @return true if the queue is full */ public boolean isFull(){ return(nItems == maxSize); } /** * Returns the number of elements in the queue * * @return number of elements in the queue */ public int getSize(){ return nItems; } } /** * This class is the example for the Queue class * * @author Unknown * */ public class Queues{ /** * Main method * * @param args Command line arguments */ public static void main(String args[]){ Queue myQueue = new Queue(4); myQueue.insert(10); myQueue.insert(2); myQueue.insert(5); myQueue.insert(3); //[10(front), 2, 5, 3(rear)] System.out.println(myQueue.isFull()); //Will print true myQueue.remove(); //Will make 2 the new front, making 10 no longer part of the queue //[10, 2(front), 5, 3(rear)] myQueue.insert(7); //Insert 7 at the rear which will be index 0 because of wrap around // [7(rear), 2(front), 5, 3] System.out.println(myQueue.peekFront()); //Will print 2 System.out.println(myQueue.peekRear()); //Will print 7 } } |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |