Narzędzia użytkownika

Narzędzia witryny


push_heap_pop_heap

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Previous revision
Last revision Both sides next revision
push_heap_pop_heap [2009/04/10 19:58]
marszaaljr
push_heap_pop_heap [2009/04/10 20:14]
marszaaljr
Linia 98: Linia 98:
 gdzie //type// jest typem obiektów przechowywanych w kolekcji. Jeżeli trzeci argument gdzie //type// jest typem obiektów przechowywanych w kolekcji. Jeżeli trzeci argument
 nie zostanie podany, do porównania uzywany jest operator < . nie zostanie podany, do porównania uzywany jest operator < .
 +
 +===== pop_heap - zastosowanie =====
 +
 +Poniższa ilustracja pokazuje działanie algorytmu pop_heap:
 +
 +{{:​kopiec_pop.gif|}}
 +
 +A to fragment kodu ilustrujący tę sytuację:
 +
 +<code cpp>
 +#include <​vector>​
 +#include <​algorithm>​
 +#include <​iostream>​
 +using namespace std;
 +
 +int main(){
 +    ​
 +    int liczby[]={1,​5,​23,​17,​8,​99};​
 +    vector<​int>​ wektor(liczby,​ liczby+6);
 +    ​
 +    make_heap(wektor.begin(),​wektor.end());  ​
 +    for(int i=0;​i<​wektor.size();​i++)
 +            cout<<​wektor[i]<<"​ ";
 +    // 99 17 23 5 8 1
 +    ​
 +    pop_heap(wektor.begin(),​wektor.end());​
 +    cout<<​endl;​
 +    ​
 +    for(int i=0;​i<​wektor.size();​i++)
 +            cout<<​wektor[i]<<"​ ";
 +    //23 17 1 5 8 99
 +    ​
 +    wektor.pop_back();​
 +    cout<<​endl;​
 +    ​
 +    for(int i=0;​i<​wektor.size();​i++)
 +            cout<<​wektor[i]<<"​ ";
 +    //23 17 1 5 8
 +
 +    return 0;
 +}
 +
 +</​code>​
push_heap_pop_heap.txt · ostatnio zmienione: 2009/04/10 20:23 przez marszaaljr