Sort vector

0

Jest taka funkcja sort opisana tu: http://www.cplusplus.com/reference/algorithm/sort/ ale czy da się jej użyć w taki sposób by posortować tylko np elementy od 4 do 10 w 20 elementowym zbiorze? Bo tam są przykłady ale tylko gdy zaczynamy na początku i kończymy w jakimś miejscu określonym albo w określonym zaczynamy i kończymy na końcu nie ma przykładu gdzie my określamy początek i koniec...

0

sam dales opis, podajesz iterator poczatku oraz konca przedzialu, ktory chcesz posortowac.

0

No ale takie coś np. nie działa:

sort (myvector.begin()+3, myvector.begin()+6, myobject);

Dlaczego?

0

Co znaczy nie działa i czym jest ten myobject?

0

A czym jest myobject? Bo takie cos jak pokazałeś działa...

0

std:;sort operuje na zakresie iteratorow, to znaczy ze masz podac mu przedzial odkad-dokąd, przyczym standardowo "dokąd" ma byc o jeden-za-daleko

pseudokod:
std::vector<int> tab = {9,8,7,6,5,4,3,2,1,0};
std::sort(tab.begin + 2, tab.begin + 7);
pozostawi cię z wektorem tab rownym
9,8, 3,4,5,6,7, 2,1,0
poniewaz sortowanie bylo w zakresie pozycji od 2giej*, do 7dmej*, ale BEZ siodmej

*) nie pomylilem sie, pamietaj, ze istnieje pozycja "zerowa".

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