Cześć,
napisałem funkcję, która powinna zamieniać dwa iteratory miejscami, ale tego nie robi :D moje podejrzenie pada albo na warunek, albo na samą funkcję std::iter_swap
:P
void showSortedV(std::vector<int> & V) {
std::vector<int>::iterator it;
std::vector<int>::iterator sit;
for (it = V.begin(); it != V.end(); ++it) {
for (sit = V.begin(); sit < V.end() - 1; ++sit) {
if (*sit > *sit + 1) //nie spelnia ani razu?
std::iter_swap(sit, sit + 1);
}
}
copy(V.begin(), V.end(), std::ostream_iterator<int, char>(std::cout, " "));
}
output wypluwa mi na ekran nieposortowaną tablicę. help :P
A, no i pisane pod standard 98, więc wiem, że są tu rzeczy deprecated
, ale taki właśnie będę miał na maturze, więc ćwiczę żeby nie było milutkiego zaskoczenia ;__;