Я знаю, что я не помогу, но вы можете написать свой собственный.
Теоретическая часть:
Очередь должна быть в byte[]
и 2 индекса, 1 для головы и 1 для хвоста
0 n
|----------------------------------------------------|
| |
head tail
Каждый раз, когда вам нужно добавить k
байт, вы перемещаете хвост на 1008 * единиц влево и помещаете туда данные, созданные в новом пространстве.
0 n
|-------------------------------new data-------------|
| | |
head new tail old tail
Каждый раз, когда вам нужно выдвинуть k
байтов, вы перемещаете голову k
единиц влево и извлекаете данные из потерянного пространства.
0 n
|-------new data-------------------------------------|
| | |
new head head tail
В случае столкновения головы и хвоставам нужно удвоить размер контейнера и скопировать каждую половину в новый.
Имейте в виду: если вы добавите 1234
, а затем выскочит 2 буквы, вы получите 34
(не знаю, стоит ли отмечать этот пост как вики сообщества)