Tak więc mam wektor i chcę, aby elementy były sortowane przez cały czas. Jak mam wstawić element do tego wektora i zachować elementy posortowane, kiedy je wyskakuję. Spojrzałem jednak na std::lower_bound
, które dało odwrotność tego, co chciałem.wstawiając element do posortowanego wektora i zachowując elementy posortowane
Na przykład to jest to, czego chcę: po naciśnięciu wszystkich elementów w wektorze powinno być: 1 2 3 4 5. Oznacza to, że wektor musi je przechowywać jako 5 4 3 2 1. Jeśli jest używany dolna granica, wektor przechowuje je jako 1 2 3 4 5, i jest popped jako 5 4 3 2 1. Ponadto, funktor porównania zostanie przekazany, aby funkcja lower_bound
używała funkcji porównania. Czy istnieje sposób na przeciwstawienie się funktorowi porównania?
Nawiasem mówiąc, 'std :: set' utrzymuje rzeczy sortowane, ale nie można mieć duplikaty (patrz' std :: multiset'). Jeśli chodzi o przeciwieństwo, istnieje 'std :: not1'. – chris
Być może używasz niewłaściwego pojemnika. Zajrzyj tutaj: http://stackoverflow.com/a/471461/78845 – Johnsyweb