[C++] jak zrobić zbiór sortujący elementy wg. mojej reguły

Ser Cubus
Użytkownik
Użytkownik
Posty: 1406
Rejestracja: 6 maja 2012, o 22:46
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 107 razy
Pomógł: 145 razy

[C++] jak zrobić zbiór sortujący elementy wg. mojej reguły

Post autor: Ser Cubus »

witam,

potrzebuję czegoś co będzie w stanie wstawić obiekt danej klasy, dla prostoty takiej:

Kod: Zaznacz cały

class punkt{
int x, y, z;
..
}
wg zadanej przeze mnie reguły (najpierw sortujemy po x, potem po y, potem po z). Znalazłem coś takiego

Kod: Zaznacz cały

http://www.cplusplus.com/reference/set/set/


Teraz pytanie czy dobrze, rozumiem co tam napisano:

Kod: Zaznacz cały

template < class T,                        // set::key_type/value_type           
           class Compare = less<T>,        // set::key_compare/value_compare 
           class Alloc = allocator<T> >    // set::allocator_type
           > class set;
class T - to będzie moja klasa
class Compare - obiekt funkcyjny czy wystarczy zwykła funkcja do porównywania obiektów??
class Alloc - kontener z stl


właśnie, jaki kontener możecie mi polecić? Czego oczekuję:
- szybkie wyszukiwanie spośród posortowanych elementów
- nieograniczona liczba elementów
Jacek_Karwatka
Użytkownik
Użytkownik
Posty: 351
Rejestracja: 2 maja 2012, o 16:16
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 1 raz
Pomógł: 94 razy

[C++] jak zrobić zbiór sortujący elementy wg. mojej reguły

Post autor: Jacek_Karwatka »

Są w zasadzie trzy możliwości.

W miarę klarownie opisano je tutaj:

Kod: Zaznacz cały

http://fusharblog.com/3-ways-to-define-
... ns-in-cpp/

kontener set spełnia Twoje oczekiwania. Domyślnie przechowuje elementy posortowane. Jeśli dopuszczamy istnienie duplikatów trzeba użyć multiset.
Ser Cubus
Użytkownik
Użytkownik
Posty: 1406
Rejestracja: 6 maja 2012, o 22:46
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 107 razy
Pomógł: 145 razy

[C++] jak zrobić zbiór sortujący elementy wg. mojej reguły

Post autor: Ser Cubus »

dzięki wielkie
ODPOWIEDZ