Skip to content

Commit 8fb8011

Browse files
add front(), rear()
1 parent fd9d141 commit 8fb8011

2 files changed

Lines changed: 27 additions & 3 deletions

File tree

src/main/java/com/examplehub/datastructures/queue/Queue.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,30 @@ public E dequeue() {
7979
return item;
8080
}
8181

82+
/**
83+
* Get element at rear of this queue.
84+
*
85+
* @return element at rear of this queue.
86+
*/
87+
public E rear() {
88+
if (empty()) {
89+
throw new IllegalStateException("Queue is empty");
90+
}
91+
return queue[rear];
92+
}
93+
94+
/**
95+
* Get element at front of this queue.
96+
*
97+
* @return element at front of this queue.
98+
*/
99+
public E front() {
100+
if (empty()) {
101+
throw new IllegalStateException("Queue is empty");
102+
}
103+
return queue[front];
104+
}
105+
82106
/**
83107
* Clear all elements in the stack.
84108
*/

src/test/java/com/examplehub/datastructures/queue/QueueTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,15 @@ void testQueue() {
2626

2727
assertEquals("1", queue.enqueue("1"));
2828
assertEquals("2", queue.enqueue("2"));
29+
assertEquals("3", queue.front());
30+
assertEquals("2", queue.rear());
2931
assertTrue(queue.full());
3032
assertEquals("[3, 4, 5, 1, 2]", queue.toString());
3133

3234
assertEquals("3", queue.dequeue());
3335
assertEquals("4", queue.dequeue());
34-
assertEquals("5", queue.dequeue());
35-
assertEquals("1", queue.dequeue());
36-
assertEquals("2", queue.dequeue());
3736

37+
queue.clear();
3838
assertEquals(queue.size(), 0);
3939
assertTrue(queue.empty());
4040
assertEquals("[]", queue.toString());

0 commit comments

Comments
 (0)