Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // lab8.cpp: определяет точку входа для консольного приложения.
- //
- #include "stdafx.h"
- #include <iostream>
- #include <vector>
- #include <conio.h>
- using namespace std;
- vector<int> v = { 6, 7, 2, 5, 9, 1, 3, 8 };
- //vector<int> v = { 1, 2, 3, 4, 5, 6, 7, 8 };
- void qsort(int field, int idx_begin, int idx_end) {
- int p = (v[idx_begin] + v[idx_end]) / 2, l = idx_begin, r = idx_end;
- while (l < r) {
- while (v[l] < p)
- l++;
- while (v[r] > p)
- r--;
- if (l < r) {
- swap(v[l], v[r]);
- l++, r--;
- }
- }
- if (l > r)
- swap(l, r);
- if (idx_begin < l && l != idx_end)
- qsort(field, idx_begin, l);
- if (r < idx_end && r != idx_begin)
- qsort(field, r, idx_end);
- }
- int _tmain(int argc, _TCHAR* argv[])
- {
- qsort(0, 0, v.size() - 1);
- for (int i = 0; i < v.size(); i++)
- cout << v[i] << " ";
- _getch();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment