Быстрая сортировка не работает для {2,1,1,1,1,1,2} в cpp, дает неправильный ответ [закрыто]C++

Программы на C++. Форум разработчиков
Anonymous
Быстрая сортировка не работает для {2,1,1,1,1,1,2} в cpp, дает неправильный ответ [закрыто]

Сообщение Anonymous »

Почему быстрая сортировка в cpp не работает для:

//я пробовал несколько кодов, но постоянно получаю ошибку
количество 1 может быть другим, но быстрая сортировка не может решить эту проблему, в основном на C++
работает нормально на Python
{2,1,1,1,1,1,1,1,1,1,2}


Код: Выделить всё

#include 
using namespace std;
void swap(vector& v, int x, int y);

void quicksort(vector &vec, int L, int R) {
int i, j, mid, piv;
i = L;
j = R;
mid = L + (R - L) / 2;
piv = vec[mid];

while (iL) {
while (vec[i] < piv)
i++;
while (vec[j] > piv)
j--;

if (i  L)
quicksort(vec, L, j);
return;
}
}
}

void swap(vector& v, int x, int y) {
int temp = v[x];
v[x] = v[y];
v[y] = temp;

}

int main() {
vector vec1 = {2,1,1,1,1,1,1,1,1,1,1,2};
const int count = 10;

// for (int i = 0; i < count; i++) {
//     vec1.push_back(1 + rand() % 100);
// }
quicksort(vec1, 0, count - 1);
for (int i : vec1){
cout

Подробнее здесь: [url]https://stackoverflow.com/questions/78674274/quick-sort-not-working-for-2-1-1-1-1-1-2-in-cpp-giving-wrong-answer[/url]

Вернуться в «C++»