Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::priority_queue<T,Container,Compare>::push

      From cppreference.com
      <cpp‎ |container‎ |priority queue

      [edit template]
       
       
       
       
      void push(const value_type& value);
      (1)
      void push( value_type&& value);
      (2)(since C++11)

      Pushes the given elementvalue to the priority queue.

      1) Equivalent to:c.push_back(value);std::push_heap(c.begin(), c.end(), comp);.
      2) Equivalent to:c.push_back(std::move(value));std::push_heap(c.begin(), c.end(), comp);.

      Contents

      [edit]Parameters

      value - the value of the element to push

      [edit]Return value

      (none)

      [edit]Complexity

      Logarithmic number of comparisons plus the complexity ofContainer::push_back.

      [edit]Example

      Run this code
      #include <iostream>#include <queue> struct Event{int priority{};char data{' '}; friendbool operator<(Eventconst& lhs, Eventconst& rhs){return lhs.priority< rhs.priority;} friendstd::ostream& operator<<(std::ostream& os, Eventconst& e){return os<<'{'<< e.priority<<", '"<< e.data<<"'}";}}; int main(){std::priority_queue<Event> events; std::cout<<"Fill the events queue:\t"; for(autoconst e:{Event{6,'L'},{8,'I'},{9,'S'},{1,'T'},{5,'E'},{3,'N'}}){std::cout<< e<<' ';        events.push(e);} std::cout<<"\nProcess events:\t\t"; for(;!events.empty(); events.pop()){        Eventconst& e= events.top();std::cout<< e<<' ';} std::cout<<'\n';}

      Output:

      Fill the events queue:  {6, 'L'} {8, 'I'} {9, 'S'} {1, 'T'} {5, 'E'} {3, 'N'}Process events:         {9, 'S'} {8, 'I'} {6, 'L'} {5, 'E'} {3, 'N'} {1, 'T'}

      [edit]See also

      (C++11)
      constructs element in-place and sorts the underlying container
      (public member function)[edit]
      removes the top element
      (public member function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/container/priority_queue/push&oldid=133085"

      [8]ページ先頭

      ©2009-2025 Movatter.jp