Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Class template d_ary_heap

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Reference

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Class template d_ary_heap

boost::heap::d_ary_heap — d-ary heap class

Synopsis

// In header: <boost/heap/d_ary_heap.hpp>
template<typename T, class... Options> 
class d_ary_heap {
public:
  // types
  typedef T                                        value_type;      
  typedef implementation_defined::size_type        size_type;       
  typedef implementation_defined::difference_type  difference_type; 
  typedef implementation_defined::value_compare    value_compare;   
  typedef implementation_defined::allocator_type   allocator_type;  
  typedef implementation_defined::reference        reference;       
  typedef implementation_defined::const_reference  const_reference; 
  typedef implementation_defined::pointer          pointer;         
  typedef implementation_defined::const_pointer    const_pointer;   
  typedef implementation_defined::iterator         iterator;        
  typedef implementation_defined::const_iterator   const_iterator;  
  typedef implementation_defined::ordered_iterator ordered_iterator;
  typedef implementation_defined::handle_type      handle_type;     
  // construct/copy/destruct
  explicit d_ary_heap(value_compare const & = value_compare());
  d_ary_heap(d_ary_heap const &);
  d_ary_heap(d_ary_heap &&);
  d_ary_heap & operator=(d_ary_heap &&);
  d_ary_heap & operator=(d_ary_heap const &);
  // public member functions
  bool empty(void) const;
  size_type size(void) const;
  size_type max_size(void) const;
  void clear(void);
  allocator_type get_allocator(void) const;
  value_type const & top(void) const;
  mpl::if_c< is_mutable, handle_type, void >::type push(value_type const &);
  template<class... Args> 
    mpl::if_c< is_mutable, handle_type, void >::type emplace(Args &&...);
  template<typename HeapType> bool operator<(HeapType const &) const;
  template<typename HeapType> bool operator>(HeapType const &) const;
  template<typename HeapType> bool operator>=(HeapType const &) const;
  template<typename HeapType> bool operator<=(HeapType const &) const;
  template<typename HeapType> bool operator==(HeapType const &) const;
  template<typename HeapType> bool operator!=(HeapType const &) const;
  void update(handle_type, const_reference);
  void update(handle_type);
  void increase(handle_type, const_reference);
  void increase(handle_type);
  void decrease(handle_type, const_reference);
  void decrease(handle_type);
  void erase(handle_type);
  void pop(void);
  void swap(d_ary_heap &);
  const_iterator begin(void) const;
  iterator begin(void);
  iterator end(void);
  const_iterator end(void) const;
  ordered_iterator ordered_begin(void) const;
  ordered_iterator ordered_end(void) const;
  void reserve(size_type);
  value_compare const & value_comp(void) const;
  // public static functions
  static handle_type s_handle_from_iterator(iterator const &);
  // public data members
  static const bool constant_time_size;
  static const bool has_ordered_iterators;
  static const bool is_mergable;
  static const bool has_reserve;
  static const bool is_stable;
};

Description

Этот класс реализует неизменную очередь приоритетов. Внутри куча d-ary представлена как массив динамических размеров (std::vector), который непосредственно хранит значения.

Шаблонный параметр T - это тип, которым должен управлять контейнер. Пользователь может указать дополнительные опции и, если опции не предусмотрены, используются опции по умолчанию.

Контейнер поддерживает следующие варианты:

  • <boost::heap::arity<>>, требуется

  • <boost::heap::compare<>>, по умолчанию<compare<std::less<T>>>

  • <boost::heap::stable<>>, по умолчанию<stable<false>>

  • <boost::heap::stability_counter_type<>>, дефолты<stability_counter_type<boost::uintmax_t>>

  • <boost::heap::allocator<>>, дефолты<allocator<std::allocator<T>>>

  • <boost::heap::mutable_<>><mutable_<false>>

    <mutable_<false>>[

    ]

d_ary_heap public types

  1. TypedefРеализация_определяется:Итераторитератор;

    Примечание:Итератор не пересекает очередь приоритетов в порядке приоритетов.

d_ary_heap public construct/copy/destruct

  1. [Ответ]:[Фабрика ] .

    Сложность:Постоянная.

    [ORIG_END] -->
  2. Эффекты:[] [] [] [] [] [] [] [] []] [[]] [[]] []] [] []] [] [[]]] [[]] []] []] [[]] []] [] [[[]]]] [[[]]]] [[[]] [[[]]] [[[]]] [[[]]] [[[]]] [[[]]] [[[]]]] [[[[]]]] [[[]]] [[[]]]] [[[[]]]] [[[]]] [[[]]]] [[[[]]]] [[[]]] [[[]]]] [[[]]] [

    Отклонение:Линейный.

    [ORIG_END] -->
  3. Комментарий:C++11-стиль конструктор.

    Сложность:Потенциал.

    []Для того, чтобы быть открытым,

    [ORIG_END] -->
  4. d_ary_heap&operator=(d_ary_heap&&rhs);

    Эффекты:С++ 11-стильное перемещение.

    Сложность:Постоянство.

    Примечание:Доступно только при наличии BOOST_NO_CXX11_RVALUE_REFERENCES Не определено

    .
  5. Удары

    Линейный.

    [ORIG_END] -->

d_ary_heap public member functions

  1. [[] [] [] [] [

    ] [

    ] [] []] [] []] [] []] [] []] []] [] []] [] []] [] []] [] []] [] []] [] []] [] []] [] []] [] [] []] [] []] [] [] [] []] [] [] [[ См. также:

    [ORIG_END] -->
  2. Комментарий:

    Похожие игры:

    [ORIG_END] -->
  3. size_typemax_size(void)const;

    Эффекты:Возвращает максимальное количество элементов, которые может содержать очередь приоритета.

    Сложность:Постоянство.

  4. Комментарий:

    Линейный.

    [ORIG_END] -->
  5. Комментарий:

    См. также:

    [ORIG_END] -->
  6. value_typeconst&top(void)const;

    Эффекты:Возвращает ссылку на максимальный элемент.

    Сложность:Постоянная.

  7. Эффекты:Добавление [Новый элемент] [Амортизированный]

    в обратном направлении:Логарифмический (амортизированный). Линейное (художественное).

    [ORIG_END] -->
  8. template<class...Args>
     mpl::if_c<is_mutable,handle_type,void>::typeemplace(Args&&...args);

    Эффекты:Добавляет новый элемент в очередь приоритетов. Элемент непосредственно построен на месте.

    Сложность:Логарифмический (амортизированный). Линейный (наихудший случай).

  9. template<typenameHeapType>booloperator<(HeapTypeconst&rhs)const;

    Возвращение:Элементное сравнение кучных структур данных

    Требование:value_compareобъект обеих груд должен совпадать.

  10. template<typenameHeapType>booloperator>(HeapTypeconst&rhs)const;

    Возврат:Элементное сравнение кучных структур данных

    Требование:value_compareобъект обеих кучи должен совпадать.

  11. template<typenameHeapType>booloperator>=(HeapTypeconst&rhs)const;

    Возврат:Элементное сравнение кучных структур данных

    Требование:value_compareобъект обеих груд должен совпадать.

  12. template<typenameHeapType>booloperator<=(HeapTypeconst&rhs)const;

    Возвращение:Элементное сравнение кучных структур данных

    Требование:value_compareобъект обеих кучи должен совпадать.

  13. <
    template<typenameHeapType>booloperator==(HeapTypeconst&rhs)const;
    >Эквивалентное сравнениеВозврат:Правда, если обе кучи структур данных эквивалентны.

    Требование:<value_compare>объект обеих кучи должен совпадать.

  14. <
    template<typenameHeapType>booloperator!=(HeapTypeconst&rhs)const;
    >Эквивалентное сравнениеВозврат:Правда, если обе кучи структур данных не эквивалентны.

    Требование:<value_compare>объект обеих кучи должен совпадать.

  15. Мгновение:Натюркиvна петле,handleи извещании об этом.

    Сложность:Логарифмический.

    Трехфактор:,,,

    [ORIG_END] -->
  16. voidupdate(handle_typehandle);

    Эффекты:Обновляет кучу после того, как элемент, обработанныйhandle, был изменен.

    Сложность:Логарифмический.

    Примечание:Если это не называется, после обновления ручки поведение структуры данных не определено!

    Требование:структура данных должна быть сконфигурирована как изменяемая

  17. АКТИ:vvvvhandlehandlehandle

    Логарифмический

    Примечание:,

    [ORIG_END] -->
  18. voidincrease(handle_typehandle);

    Эффекты:Обновляет кучу после того, как элемент, обработанныйhandle, был изменен.

    Сложность:Логарифмический.

    Примечание:Ожидается, что новая стоимость будет больше текущей. Если это не называется, после обновления ручки поведение структуры данных не определено!

    Требование:структура данных должна быть сконфигурирована как изменяемая

  19. АКТИВ:v[v] [handle] [] [

    ]

    []] [v] [[]] [[]] [[]]] [[]] [[]]] [[]]] [[[]]] [[]]] [[]]] [[]]] [[[[]]]] [[[]]]] [[[[]]]] [[[[]]]]] [[[[]]]] [[[[]]]] [[[[]]]] [[[[]]]] [[[[]]]] [[[[]]]]] [[[[]]]]] [[[[]]]]] [[[[]]]]] [[[[]]]][[[[]]]]] См. также:Логарифмический.

    Примечание:Отказ,,

    ,

    [ORIG_END] -->
  20. voiddecrease(handle_typehandle);

    Эффекты:Обновляет кучу после того, как элемент, обработанныйhandle, был изменен.

    Сложность:Логарифмический.

    Примечание:Ожидается, что новая стоимость будет меньше текущей. Если это не называется, после обновления ручки поведение структуры данных не определено!

    Требование:структура данных должна быть сконфигурирована как изменяемая

  21. voiderase(handle_typehandle);

    Эффекты:Удалите элемент, обработанныйhandleизpriority_queue.

    Сложность:Логарифмический.

    Требование:структура данных должна быть сконфигурирована как изменяемая

  22. voidpop(void);

    Эффекты:Удалите верхний элемент из очереди приоритета.

    Сложность:Логарифмический (амортизированный). Линейный (наихудший случай).

  23. voidswap(d_ary_heap&rhs);

    Эффекты:Заменяет две приоритетные очереди.

    Сложность:Константа.

  24. Комментарий:,

    [ORIG_END] -->
  25. iteratorbegin(void);

    Эффекты:Возвращает итератор к первому элементу, содержащемуся в очереди приоритета.

    Сложность:Постоянная.

  26. Эффекты:[враждебность] и враждующий [сенсорный] [сенсорный]

    [ORIG_END] -->
  27. Комментарий:[] [

    ]

    ] [] [] [] [] []] [] []] [] []] [] []] [] []] [] []] [] []] [] []] []] []] Похожие игры:

    [ORIG_END] -->
  28. Эффекты:[вращает] [окрашивает] и деструктивно воздействует], замедляет [опускание].

    [][применяет] [применяет].

    [ORIG_END] -->
  29. Комментарий:[] [] [] [] [] [] []] [] []] [] []] [] []] []] [] []] []] [] []] []] []] [] []] [] []] []] [] []] []] []] [] []] []] [] []] []] [] []] []] [] []] []] [] []] [] Примечание:Сверхъестественное и вентиляционное снаряжение.

    [ORIG_END] -->
  30. voidreserve(size_typeelement_count);

    Эффекты:Запасы памяти для элементов element_count

    Сложность:Линейный.

    Узел:Недействительные итераторы

  31. Эффект:Описание[ORIG_END] -->

d_ary_heap public static functions

  1. Эффекты

    [ORIG_END] -->

PrevUpHomeNext

Статья Class template d_ary_heap раздела The Boost C++ Libraries BoostBook Documentation Subset Reference может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Reference ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 20:58:18/0.012411117553711/1