JavaScript реализации общих структур данных - стек и очередь

Стек, выполните упорядоченный набор ЛИФО (LIFO) принципа.

Очередь, является продолжением FIFO (FIFO) упорядоченный набор принципов.

 

В JavaScript, мы можем легко расшириться обе структуры данных через массив соответствующих методов.

 

Стек кода JavaScript для достижения:

/ ** 
 * Инициализировать структуру данных здесь. 
 * / 
Вар MyStack = функция () { 
    this._data = []; 
}; 

/ ** 
 * Нажмите элемент й на стек. 
 * @Param {номер} х 
 * @return {} аннулируются 
 * / 
MyStack.prototype.push = функция (х) { 
    this._data.push (х); 
}; 

/ ** 
 * Удаляет элемент на вершине стека и возвращает этот элемент. 
 * @Return {число} 
 * / 
MyStack.prototype.pop = функция () { 
    вернуть this._data.pop (); 
}; 

/ ** 
 * Получить верхний элемент. 
 * @Return {число} 
 * /  
MyStack.prototype.top = функция () {
    возврата this._data [this._data.length -1]; 
};

/ ** 
 * Возвращает пуст ли стек. 
 * @Return {булево} 
 * / 
MyStack.prototype.empty = функция () { 
    вернуть this._data.length === 0; 
}; 

/ ** 
 * Ваш объект MyStack будет экземпляр и называется так: 
 * вар OBJ = новый MyStack () 
 * obj.push (х) 
 * вар param_2 = obj.pop () 
 * вар param_3 = obj.top () 
 * вар param_4 = obj.empty () 
 * /

 

Очередь код JavaScript для достижения:

/ ** 
 * Инициализировать структуру данных здесь. 
 * / 
Вар MyQueue = функция () { 
   this._queue = []; 
}; 

/ ** 
 * Нажмите элемент х к задней части очереди. 
 * @Param {номер} х 
 * @return {} аннулируются 
 * / 
MyQueue.prototype.push = функция (х) { 
    this._queue.push (х); 
}; 

/ ** 
 * Удаляет элемент из перед очереди и возвращает этот элемент. 
 * @Return {число} 
 * / 
MyQueue.prototype.pop = функция () { 
    вернуть this._queue.shift (); 
}; 

/ ** 
 * Получить передний элемент. 
 * @Return {число} 
 * / 
MyQueue.prototype.peek = функция () { 
    возврата this._queue [0]; 
};

/ ** 
 * Возвращает ли пустая очередь. 
 * @Return {булево} 
 * / 
MyQueue.prototype.empty = функция () { 
    вернуть this._queue.length === 0; 
}; 

/ ** 
 * Ваш объект MyQueue будет экземпляр и называется так: 
 * вар OBJ = новый MyQueue () 
 * obj.push (х) 
 * вар param_2 = obj.pop () 
 * вар param_3 = obj.peek () 
 * вар param_4 = obj.empty () 
 * /

 

рекомендация

отwww.cnblogs.com/mykiya/p/10959729.html
рекомендация