std::pop_heap - cppreference.com
Da cppreference.com.
|
|
Questa pagina è stata tradotta in modo automatico dalla versione in ineglese della wiki usando Google Translate. La traduzione potrebbe contenere errori e termini strani. Muovi il puntatore sopra al testo per vedere la versione originale. Puoi aiutarci a correggere gli gli errori. Per ulteriori istruzioni clicca qui. |
<metanoindex/>
<tbody> </tbody>
| Elemento definito nell'header <algorithm> |
||
|
|
(1) | |
|
|
(2) | |
Swap il valore nella first posizione e il valore nella last-1 posizione e rende il [first, last-1) sottointervallo in un' heap. Questo ha l'effetto di eliminare la prima (più grande) elemento dall'heap definito dal [first, last) gamma.
Original:
Swaps the value in the position first and the value in the position last-1 and makes the subrange [first, last-1) into a heap. This has the effect of removing the first (largest) element from the heap defined by the range [first, last).
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
La prima versione della funzione utilizza operator< per confrontare gli elementi, il secondo utilizza la funzione di confronto dato comp.
Original:
The first version of the function uses operator< to compare the elements, the second uses the given comparison function comp.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Parametri
| first, last | - | la gamma di elementi che definiscono l'heap valido non vuoto da modificare Original: the range of elements defining the valid nonempty heap to modify The text has been machine-translated via Google Translate. |
| comp | - | comparison function which returns true if the first argument is less than the second.
The signature of the comparison function should be equivalent to the following:
The signature does not need to have |
| Type requirements | ||
-RandomIt must meet the requirements of ValueSwappable and RandomAccessIterator.
| ||
-The type of dereferenced RandomIt must meet the requirements of MoveAssignable and MoveConstructible.
| ||
Valore di ritorno
(Nessuno)
Original:
(none)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Complessità
Al massimo 2 × log (N) confronti N=std::distance(first, last) dove.
Original:
At most 2×log(N) comparisons where N=std::distance(first, last).
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Note
Un mucchio' è una serie di elementi [f,l) che ha le seguenti proprietà:
Original:
A heap is a range of elements [f,l) that has the following properties:
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
*fè l'elemento più grande della gammaOriginal:
*fis the largest element in the rangeThe text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.un nuovo elemento può essere aggiunto utilizzando
std::push_heap()Original:
a new element can be added using
std::push_heap()The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.il primo elemento può essere rimosso utilizzando
std::pop_heap()Original:
the first element can be removed using
std::pop_heap()The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
L'effettiva disposizione degli elementi è definita attuazione.
Original:
The actual arrangement of the elements is implementation defined.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Esempio
#include <iostream> #include <algorithm> int main() { std::vector<int> v { 3, 1, 4, 1, 5, 9 }; std::make_heap(v.begin(), v.end()); std::cout << "v: "; for (auto i : v) std::cout << i << ' '; std::cout << '\n'; std::pop_heap(v.begin(), v.end()); // moves the largest to the end std::cout << "after pop_heap: "; for (auto i : v) std::cout << i << ' '; std::cout << '\n'; int largest = v.back(); v.pop_back(); // actually removes the largest element std::cout << "largest element: " << largest << '\n'; std::cout << "heap without largest: "; for (auto i : v) std::cout << i << ' '; std::cout << '\n'; }
Output:
v: 9 5 4 1 1 3 after pop_heap: 5 3 4 1 1 9 largest element: 9 heap without largest: 5 3 4 1 1
Vedi anche
aggiunge un elemento a un heap Original: adds an element to a heap The text has been machine-translated via Google Translate. (funzione di modello) [modifica] | |