Упражнение 03 - Сортиране и quicksort
Какво е Quicksort
Код от час
В клас
void q_s(int nums[], int n)
{
if(n <= 1) return;
int kotva = n/2;
for(int i = 0;i < n;i++)
{
if(nums[i] > nums[kotva] && i < kotva)
{
swap(nums[i], nums[kotva - 1]);
swap(nums[kotva - 1], nums[kotva]);
kotva--;
}
if(nums[i] < nums[kotva] && i > kotva)
{
swap(nums[i], nums[kotva + 1]);
swap(nums[kotva + 1], nums[kotva]);
kotva++;
}
}
//q_s(nums + kotva + 1, n - kotva - 1);
q_s(&nums[kotva + 1], n - kotva - 1);
q_s(nums, kotva);
}