Быстрая сортировка Си/С++ - C (СИ)
Формулировка задачи:
Есть быстрая сортировка:
Как сделать что бы сортировались только четные числа?
void quick_sort(int* sarr, int j) {
int size = j;
int k = 0;
int c = sarr[(int)(j / 2)];
int tmp = 0;
do {
while (sarr[k] < c) k++;
while (sarr[j] > c) j--;
if (k <= j) {
tmp = sarr[k];
sarr[k] = sarr[j];
sarr[j] = tmp;
k++;
j--;
}
} while (k <= j);
if (j > 0) quick_sort(sarr, j);
if (j > 0) quick_sort(sarr + k, size - k);
}Решение задачи: «Быстрая сортировка Си/С++»
textual
Листинг программы
void quick_sort(int* sarr, int j) {
int size = j;
int k = 0;
int c = sarr[(int)(j / 2)];
int tmp = 0;
do {
while (sarr[k] < c) k++;
while (sarr[j] > c) j--;
if(sarr[j]%2==0)
if (k <= j) {
tmp = sarr[k];
sarr[k] = sarr[j];
sarr[j] = tmp;
k++;
j--;
}
} while (k <= j);
if (j > 0) quick_sort(sarr, j);
if (j > 0) quick_sort(sarr + k, size - k);
}