[Все сортировки]
Теория: k-ая порядковая статистика
Практика: informatics.mccme.ru
Визуализатор: youtube.com [Adobe Flash Player]
Реализация:
- int partition(vector<int> &mas, int l, int r) {
- int pos = l-1;
- for (int i = l; i <= r; ++i) {
- if (mas[i] <= mas[r] )
- swap(mas[++pos], mas[i]);
- }
- return pos;
- }
- void quick_sort(vector<int> &mas, int l, int r) {
- if (l >= r) return;
- int pivot = partition(mas,l,r);
- quick_sort(mas,l,pivot-1);
- quick_sort(mas,pivot+1,r);
- }
* This source code was highlighted with Source Code Highlighter.
Данная реализация на предложенной задаче работает в 2 раза быстрее(0.059 c), чем heap_sort(0.122 c).
Комментариев нет:
Отправить комментарий