Advertisement
selfpromise

binsort

Jan 22nd, 2020
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5. int ks(0),kd(0);
  6.  
  7. void binsortvst(vector <int> v, int sz)
  8. {
  9. cout << "Array: ";
  10. for(int i = 0; i < sz; ++i)
  11. cout << v[i] <<' ';
  12. cout << '\n';
  13. ks = 0; kd = 0;
  14. for (int i = 1; i < sz; ++i)
  15. {
  16.  
  17. if (v[i - 1] > v[i])
  18. {
  19. int zn = v[i];
  20. int r(i - 1), l(0);
  21. while (l <= r)
  22. {
  23. ks++;
  24. int mid = (l + r) / 2;
  25. kd++;
  26. if (v[mid] > zn)
  27. r = mid - 1;
  28. else
  29. l = mid + 1;
  30. kd++;
  31. }
  32. for (int j = i - 1; j >= l; --j)
  33. {
  34. v[j + 1] = v[j];
  35. kd++;
  36. }
  37. v[l] = zn;
  38. kd++;
  39. }
  40. }
  41. cout << "Result: ";
  42. for (int i = 0; i < sz; ++i)
  43. cout << v[i] << ' ';
  44. cout << "\nSravnenii : " << ks << "\nDeistvii : " << kd << "\n\n";
  45. }
  46.  
  47. int main()
  48. {
  49. int sz;
  50. int a;
  51. vector<int> v;
  52. cin>>sz;
  53. while(cin>>a)
  54. v.push_back(a);
  55. cout<<v[a]<<' ';
  56. binsortvst(v,sz);
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement