Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int partition1(vector<vector<int>>& a, int ii, int start, int end, Efficiency* eff)
- {
- int pivot = a[ii][end];
- int i = (start - 1);
- for (int j = start; j < end; j++)
- {
- eff->comparisons++;
- if (a[ii][j] > pivot)
- {
- i++;
- if (i != j) {
- eff->swaps++;
- swap(&a[ii][i], &a[ii][j]);
- }
- }
- }
- if (i + 1 != end) {
- eff->swaps++;
- swap(&a[ii][i + 1], &a[ii][end]);
- }
- return (i + 1);
- }
- void quick1(vector<vector<int>>& a, int ii, int start, int end, Efficiency* eff)
- {
- //eff->comparisons++;
- if (start < end)
- {
- int p = partition1(a, ii, start, end, eff);
- quick1(a, ii, start, p - 1, eff);
- quick1(a, ii, p + 1, end, eff);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment