DequeueFront deletes an item from front of Deque and returns it.
()
| 35 | |
| 36 | // DequeueFront deletes an item from front of Deque and returns it. |
| 37 | func (dq *DoublyEndedQueue[T]) DequeueFront() (T, error) { |
| 38 | if len(dq.deque) == 0 { |
| 39 | var zeroVal T |
| 40 | return zeroVal, ErrEmptyDequeue |
| 41 | } |
| 42 | frontElement := dq.deque[0] |
| 43 | dq.deque = dq.deque[1:] |
| 44 | return frontElement, nil |
| 45 | } |
| 46 | |
| 47 | // DequeueRear deletes an item from rear of Deque and returns it. |
| 48 | func (dq *DoublyEndedQueue[T]) DequeueRear() (T, error) { |