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
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".