Реализация быстрой сортировки - C (СИ) (148096)
Формулировка задачи:
Очень надеюсь на вашу помощь. Не смог разобраться сам
Решение задачи: «Реализация быстрой сортировки»
textual
Листинг программы
- #include <stdio.h>
- void qsort_k(int v[], int left, int right)
- {
- int i, last;
- void swap(int v[], int i, int j);
- if(left>=right)
- return;
- swap(v, left, (left+right)/2);
- last = left;
- for(i=left+1; i<=right; i++)
- if (v[i]<v[left])
- swap(v, ++last, i);
- swap(v, left, last);
- qsort_k(v, left, last-1);
- qsort_k(v, last+1, right);
- }
- void swap(int v[], int i, int j)
- {
- int temp;
- temp=v[i];
- v[i]=v[j];
- v[j]=temp;
- }
- int main(void)
- {
- int a[10]={4,6,1,8,2,99,55,34,4,1};
- qsort_k(a, 0, 9);
- for(int i=0; i<10; ++i)printf("%d ", a[i]);
- return 0;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д