Własne kontenery, iteratory i zgodność z STLem

0

Ostatnio bawiłem się z prostymi kontenerami własnej roboty, ale chciałbym zapewnić zgodność z standardowymi algorytmami z <algorithm> które jako argument przyjmują iteratory, no właśnie, iteratory, tu mam problem i jednym słowem nie wiem jak to ugryźć, stworzyć własną klase iteratora, czy może użyć tych już istniejących, świetnie było by jeśli zna ktoś jakieś materiały o iteratorach ( po angielsku, polsku)

0

Dołączam się do pytania.
Mam podobny problem, ale od drugiej strony, tzn chcę naklepać algorytm sortowania działający zarówno na tablicach jak i kolekcjach działających na tablicach, czyli vector, deque, itd

0

@Wibowit: zarówno vector jak i deque mają operator [] więc działaj jak na zwykłych tablicach. W czym problem?

0

No to jak wyglądałby bubblesort działający na tablicach i vectorach jednocześnie? Tak jak std::sort.

Chodzi mi o to, by nie pisać oddzielnie funkcji dla każdego typu kolekcji/ tablicy.

1

Napisz wlasna implementacje, jesli Twoja kolekcja nie jest tylko wrapperem na standardowa kolekcje.

@Wibowit
Hmm... a co jest nie tak z podejsciem

template <class RandomAccessIterator, class Comparator>
mojeSortowanko(RandomAccessIterator first, RandomAccessIterator last, Comparator comparator)

Gdzie RandomAccessIterator poza standardowym interfejsem udostepnia tez operator []?

0

OK, w sumie zapomniałem że w C++ templaty są tylko prymitywnymi generatorami kodu, rozbudowanymi #define'ami :P
Myślałem, że powinny być jakieś standardowe interfejsy. Javowe zboczenie :P

0

które jako argument przyjmują iteratory, no właśnie, iteratory, tu mam problem i jednym słowem nie wiem jak to ugryźć, stworzyć własną klase iteratora, czy może użyć tych już istniejących

Iteratorem może być w najprostszym przypadku zwykły wskaźnik na element - sprawdzi się to np. w przypadku vectora.

1 użytkowników online, w tym zalogowanych: 0, gości: 1