Quindi ho un vettore e voglio che gli elementi siano ordinati in ogni momento. Come dovrei fare per inserire un elemento in quel vettore e mantenere ordinati gli elementi quando li faccio uscire. Ho esaminato std::lower_bound
, tuttavia, questo ha dato il contrario di ciò che volevo.inserendo un elemento in un vettore ordinato e mantenendo gli elementi ordinati
Ad esempio, questo è quello che voglio: Quando ho pop tutti gli elementi nel vettore dovrebbe essere: 1 2 3 4 5. Ciò significa che il vettore deve memorizzarli come 5 4 3 2 1. Se l'uso limite inferiore, il vettore li memorizza come 1 2 3 4 5, ed è spuntato come 5 4 3 2 1. Inoltre, un functor di confronto verrà passato in modo che la funzione lower_bound
utilizzi il functor di confronto. C'è un modo per prendere l'opposto di un funtore comparativo?
A proposito, 'std :: set' mantiene le cose in ordine, ma non si può avere duplicati (vedi' std :: multiset'). Per quanto riguarda l'opposto, c'è 'std :: not1'. – chris
Forse stai usando il contenitore sbagliato. Dai un'occhiata qui: http://stackoverflow.com/a/471461/78845 – Johnsyweb