Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- using namespace std;
- int ks(0),kd(0);
- void binsortvst(vector <int> v, int sz)
- {
- cout << "Array: ";
- for(int i = 0; i < sz; ++i)
- cout << v[i] <<' ';
- cout << '\n';
- ks = 0; kd = 0;
- for (int i = 1; i < sz; ++i)
- {
- if (v[i - 1] > v[i])
- {
- int zn = v[i];
- int r(i - 1), l(0);
- while (l <= r)
- {
- ks++;
- int mid = (l + r) / 2;
- kd++;
- if (v[mid] > zn)
- r = mid - 1;
- else
- l = mid + 1;
- kd++;
- }
- for (int j = i - 1; j >= l; --j)
- {
- v[j + 1] = v[j];
- kd++;
- }
- v[l] = zn;
- kd++;
- }
- }
- cout << "Result: ";
- for (int i = 0; i < sz; ++i)
- cout << v[i] << ' ';
- cout << "\nSravnenii : " << ks << "\nDeistvii : " << kd << "\n\n";
- }
- int main()
- {
- int sz;
- int a;
- vector<int> v;
- cin>>sz;
- while(cin>>a)
- v.push_back(a);
- cout<<v[a]<<' ';
- binsortvst(v,sz);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement