Jak mogę utworzyć Min stl priority_queue?
Domyślnie kolejka priorytetowa stl jest maksymalna (funkcja Top zwraca największy element).
Powiedzmy dla uproszczenia, że jest to kolejka priorytetowa wartości int.
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
8 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Który wyświetli odpowiednio 1, 3, 5, 8.
Tutaj
http://www.technical-recipes.c ... in-c/
pokazuje kilka przykładów użycia kolejek priorytetowych przy użyciu
Implementacje STL i Sedgewick
http://www.cs.princeton.edu/~r ... e.txt
.
Anonimowy użytkownik
Potwierdzenie od:
dawny.
Będziesz potrzebować dla .
Anonimowy użytkownik
Potwierdzenie od:
1. Używanie jako funkcji porównawczej:
2. wstawianie wartości poprzez zmianę ich znaku (używając minus (-) dla liczby dodatniej i plus (+) dla liczby ujemnej:
3. Korzystanie z niestandardowej struktury lub klasy:
4. Korzystając z niestandardowej struktury lub klasy, możesz użyć Priority_queue w dowolnej kolejności.
Załóżmy, że chcemy posortować ludzi w porządku malejącym według ich wynagrodzenia, a jeśli połączymy, to według wieku.
<ol start="5">
[*]
Ten sam wynik można uzyskać przy przeciążeniu operatora:
W głównej funkcji:
[/*]
[/list]
Anonimowy użytkownik
Potwierdzenie od:
I użyj tego w ten sposób:
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Uwaga: działa z kompilatorami C ++ 11 i nowszymi
Wyświetl powyższy kod
Anonimowy użytkownik
Potwierdzenie od:
Korzystanie z parametru komparatora wzorców
>
Używanie określonej klasy porównawczej
>