В этой статье описывается метод реализации массива двунаправленных очередей цикла структур и алгоритмов Java. Поделитесь этим для вашей ссылки, следующим образом:
Следует отметить, что я не проверил этот алгоритм. Идея алгоритма, данная здесь, эквивалентна псевдокоду, поэтому ее можно использовать только в качестве ссылки!
Источник пакета; открытый класс deque {private int maxsize; частный int остался; частный int right; частные int nitems; частный длинный [] myDeque; // Конструктор Public Deque (int maxSize) {this.maxsize = maxSize; this.mydequ = new Long [this.maxsize]; this.nitems = 0; this.left = this.maxsize; this.right = -1; } // Вставить число в левую сторону public void insertleft (long n) {if (this.left == 0) this.left = this.maxsize; this.mydeque [-this.left] = n; this.nitems ++; } // Вставить число в правую сторону public void insertright (long n) {if (this.right == this.maxsize -1) this.right = -1; this.mydeque [++ this.right] = n; this.nitems ++; } // Удалить слева публичный длинный removeleft () {long temp = this.mydequ [this.left ++]; if (this.left == this.maxsize) this.left = 0; this.nitems--; вернуть температуру; } // Удалить из правого общественного длинного Removeright () {long temp = this.myDequ [this.right--]; if (this.left ==-1) this.left = this.maxsize-1; this.nitems--; вернуть температуру; } // return true, если deque пуст public boolean isempty () {return (this.nitems == 0); } // возвращать размер deque public int size () {return this.nitems; }}PS: двунаправленные очереди петли имеют большое значение. Они могут использоваться в качестве обычных очередей или в качестве стеков!
Для получения дополнительной информации об алгоритмах Java, читатели, которые заинтересованы в этом сайте, могут просмотреть темы: «Учебное пособие по структуре данных Java и алгоритм», «Сводка операции Java Operation Node», «Сводка Java File и Directory Operation» и «Сводка Java Cache Советы»
Я надеюсь, что эта статья будет полезна для всех Java Programming.