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

Class template fibonacci_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 fibonacci_heap

boost::heap::fibonacci_heap — fibonacci heap

Synopsis

// In header: <boost/heap/fibonacci_heap.hpp>
template<typename T, class... Options> 
class fibonacci_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 fibonacci_heap(value_compare const & = value_compare());
  fibonacci_heap(fibonacci_heap const &);
  fibonacci_heap(fibonacci_heap &&);
  fibonacci_heap & operator=(fibonacci_heap &&);
  fibonacci_heap & operator=(fibonacci_heap const &);
  ~fibonacci_heap(void);
  // 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;
  void swap(fibonacci_heap &);
  value_type const & top(void) const;
  handle_type push(value_type const &);
  template<class... Args> handle_type emplace(Args &&...);
  void pop(void);
  void update(handle_type, const_reference);
  void update_lazy(handle_type, const_reference);
  void update(handle_type);
  void update_lazy(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 const &);
  iterator begin(void) const;
  iterator end(void) const;
  ordered_iterator ordered_begin(void) const;
  ordered_iterator ordered_end(void) const;
  void merge(fibonacci_heap &);
  value_compare const & value_comp(void) 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;
  template<typename HeapType> bool operator!=(HeapType const &) 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 is_stable;
  static const bool has_reserve;
};

Description

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

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

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

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

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

  • <boost::heap::constant_time_size<>>, дефолты<constant_time_size<true>>

  • <boost::heap::stability_counter_type<>><stability_counter_type<boost::uintmax_t>>[<stability_counter_type<boost::uintmax_t>>]

fibonacci_heap public types

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

    Итератор[скрыто] [скрыто] [скрыто] [скрыто].

    [ORIG_END] -->

fibonacci_heap public construct/copy/destruct

  1. Взгляд]:строит холостую систему.

    Сложность:.

    [ORIG_END] -->
  2. Мягкость:копирование-конструкция приоритетной очереди из rhs.

    Вязкость:Линейная.

    fibonacci_heap(fibonacci_heapconst&rhs);

    Эффекты:копирование-конструирование приоритетной очереди из rhs.

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

    [ORIG_END] -->[ORIG_END] -->
  3. fibonacci_heap(fibonacci_heap&&rhs);

    Эффекты:Конструктор движений в стиле C++11.

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

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

    .
  4. Мгновение:C++11-сильная система.

    Сложность:

    [][открыто] [день]

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

    линейный.

    [ORIG_END] -->
  6. <
    ~fibonacci_heap(void);
    >

fibonacci_heap public member functions

  1. Комментарий:[] [] [] [

    ] [

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

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

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

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

  4. АКТИВ:

    Линейный

    [!-- [ORIG_BEGIN]
    voidclear(void);

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

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

    [ORIG_END] -->[ORIG_END] -->
  5. [] [] [] [] [] [] []] [] [] []] [] []] [] []] [] []] Похожие игры:

    [ORIG_END] -->
  6. voidswap(fibonacci_heap&rhs);

    Эффекты:Смена двух очередей приоритетов.

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

  7. value_typeconst&top(void)const;

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

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

  8. handle_typepush(value_typeconst&v);

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

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

    Примечание:Не обесценивает итераторов.

  9. Комментарий:Добавление нового элемента в патроны. Элементы. Крышка.

    [скрыто] [скрыто]

    Примечание:

    [ORIG_END] -->
  10. Комментарий:Удачное решение

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

    [ORIG_END] -->
  11. voidupdate(handle_typehandle,const_referencev);

    Эффекты:Назначаетvэлемент, обрабатываемыйhandle& обновляет очередь приоритетов.

    Сложность:Логарифмическое, если текущее значение< v, постоянное иначе.

  12. Ответ:Надписьvна петле, экипировкаhandleи [новая мишень для выносливости]

    Похожие игры:Логарифмический,< v, константа

    Обоснование:Лебединый Быстрый - на кольцеобразный Быстрый, кольцеобразный и кольцевой шторой, к-рый, к-рый.

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

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

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

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

  14. voidupdate_lazy(handle_typehandle);
    (ручка_тип ручки)

    Эффекты:Назначаетvэлемент, обрабатываемыйhandle& обновляет очередь приоритета.

    Сложность:Логарифмическое, если текущее значение< v, постоянное иначе. (ручка_тип ручки)

    Обоснование:Функция ленивого обновления — это модификация традиционного обновления, которая просто отменяет итератор на объект, на который ссылается ручка.

  15. voidincrease(handle_typehandle,const_referencev);

    Эффекты:Назначаетvэлемент, обрабатываемыйhandle& обновляет очередь приоритета.

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

    Примечание:Ожидается, что новое значение будет больше текущего

    .
  16. Задачи:Обновление повестки дня,handle,handle,

    Примечание:- Нет, нет, нет, нет, нет, нет!

    [ORIG_END] -->
  17. voiddecrease(handle_typehandle,const_referencev);

    Эффекты:Назначаетvна элемент, обрабатываемыйhandle& обновляет очередь приоритетов.

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

    Примечание:Ожидается, что новое значение будет меньше текущего

    .
  18. voiddecrease(handle_typehandle);

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

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

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

  19. [[] [handle]priority_queue[

    ]

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

    [ORIG_END] -->
  20. iteratorbegin(void)const;

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

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

  21. iteratorend(void)const;

    Эффекты:Возвращает итератор в конец очереди приоритета.

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

  22. ordered_iteratorordered_begin(void)const;

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

    Примечание:Заказные итераторы проходят приоритетную очередь в кучном порядке.

  23. Комментарий:[] [][

    ] [

    ] [] [] []] [] []] [] []] []] []] Примечание:Устанавливается секционная и терапическая секционные патроны.

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

    [ORIG_END] -->
  25. value_compareconst&value_comp(void)const;

    Эффект:Возвращает объект value_compare, используемый в очереди приоритетов

  26. Элементно-мудрая история

    value_compare

    [ORIG_END] -->
  27. Элементарно-мудрая оговорка

    Требрава:value_comparevalue_compareехот].

    [ORIG_END] -->
  28. template<typenameHeapType>booloperator>=(HeapTypeconst&rhs)const;

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

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

  29. Элементно-мудрая история

    value_compare

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

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

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

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

fibonacci_heap public static functions

  1. <
    statichandle_types_handle_from_iterator(iteratorconst&it);
    >

PrevUpHomeNext

Статья Class template fibonacci_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-20 07:21:03/0.012083053588867/1