Я пытаюсь написать функцию быстрой сортировки для сортировки от 10 до 1 000 000 чисел. Он перебирает все, но не сортирует, а просто печатает вектор как есть.
По какой-то причине он слишком рано выходит из цикла while.
Я использую тестовый ввод: (3 6 2 5 1 7 9 10 4 8).
И результат: (1 2 6 5 3 7 9 10 4 8)
int main()
{
std::cout > file;
std::ifstream in(file.c_str());
// Read all the ints from in:
std::copy(std::istream_iterator(in), std::istream_iterator(),
std::back_inserter(numbers));
int max = numbers.size();
quickSort(numbers, 0, max-1);
// Print the vector with tab separators:
std::copy(numbers.begin(), numbers.end(),
std::ostream_iterator(std::cout, "\t"));
std::cout = pivot && i < j)
j--;
temp = numbers;
numbers = numbers[j];
numbers[j] = temp;
if( j < start )
{
quickSort( numbers, start, j );
}
if( i < start )
{
quickSort( numbers, i, end);
}
}
return;
}
Подробнее здесь: https://stackoverflow.com/questions/112 ... -sorting-c