Push, pop, shift, unshift в массивах

Нужно написать 4 функции, при обращении к которым в существующий массив записывались новые значения (push это с конца, unshift - начало) или удалялись (pop - с конца, shift - начало). Для этого использовать два индекса - начало очереди массива и конца. Если есть идеи, пишите пожалуйста, но код писать не надо! Спасибо