А куча это стандарт C ++ адаптер контейнера, предназначенный для использования в LIFO контекст[1] и реализован с интерфейсом / оболочкой для типа, переданного ему как шаблон аргумент, который по умолчанию дек.[2] Он настолько прост, что его можно описать просто на примере интерфейса:
шаблон<учебный класс Т, Учебный класс C = дек<Т> >учебный класс стандартное::куча { защищенный: C c; общественный: typedef typename C::тип ценности тип ценности; typedef typename C::size_type size_type; typedef C container_type; явный куча(const C& а = C()) : c(а){} // Наследуем конструктор bool пустой() const { возвращаться c.пустой(); } size_type размер() const { возвращаться c.размер(); } тип ценности& верх() const { возвращаться c.назад(); } const тип ценности& верх() const { возвращаться c.назад(); } пустота толкать(const тип ценности& п) { c.отталкивать(п); } пустота поп() { c.pop_back(); }};
[3]
Обзор функций
| Функция | Описание |
---|
Доступ к элементу | верх | Получить ссылку на верхний элемент стека, делает ли нет поп это |
Модификаторы | толкать | Помещаем элемент в стек |
поп | Снимите верхний элемент стека |
Размер | размер | Получить количество элементов |
Рекомендации