Advertisement
Guest User

newVec

a guest
Jun 27th, 2019
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. template <typename T>
  2. class CVector
  3. {
  4. private:
  5. std::vector<T>* safer;
  6. AVLTree<T>* tree;
  7. public:
  8. CVector()
  9. {
  10. safer = new std::vector<T>();
  11. tree = new AVLTree<T>();
  12. }
  13. ~CVector()
  14. {
  15. delete safer;
  16. delete tree;
  17. }
  18.  
  19. void addToTree(T elem)
  20. {
  21. tree->Add(elem, safer);
  22. }
  23.  
  24. std::vector<T>* getSafer()
  25. {
  26. return this->safer;
  27. }
  28.  
  29. long long pivot(std::vector<T>*& safer, long i, long f) {
  30. T piv = safer->at(i); int izq = i + 1; int der = f;
  31. while (der >= izq) {
  32. if (safer->at(izq9 <= piv) ++izq;
  33. else if (safer->at(der) >= piv) --der;
  34. else {
  35. T t = safer->at(der);
  36. safer->at(der--) = safer->at(izq);
  37. safer->at(izq++) = t;
  38. }
  39. }
  40. if (der != i) {
  41. T t = safer->at(der);
  42. safer->at(der) = safer->at(i);
  43. safer->at(i) = t;
  44. }
  45. return der;
  46. }
  47. void quick(std::vector<T>*& safer, long long i, long long f) {
  48. if (f > i) {
  49. long long p = pivot(a, i, f);
  50. quick(a, i, p - 1);
  51. quick(a, p + 1, f);
  52. }
  53. }
  54. void quicksort(std::vector<T>*& safer, long long n) {
  55. quick(safer, 0, n - 1);
  56. }
  57.  
  58.  
  59.  
  60. std::vector<T>* safe()
  61. {
  62. quicksort(safer, safer->size());
  63. return safer;
  64. }
  65.  
  66. AVLTree<T>*& getTree()
  67. {
  68. return this->tree;
  69. }
  70. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement