Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- template <typename T>
- class CVector
- {
- private:
- std::vector<T>* safer;
- AVLTree<T>* tree;
- public:
- CVector()
- {
- safer = new std::vector<T>();
- tree = new AVLTree<T>();
- }
- ~CVector()
- {
- delete safer;
- delete tree;
- }
- void addToTree(T elem)
- {
- tree->Add(elem, safer);
- }
- std::vector<T>* getSafer()
- {
- return this->safer;
- }
- long long pivot(std::vector<T>*& safer, long i, long f) {
- T piv = safer->at(i); int izq = i + 1; int der = f;
- while (der >= izq) {
- if (safer->at(izq9 <= piv) ++izq;
- else if (safer->at(der) >= piv) --der;
- else {
- T t = safer->at(der);
- safer->at(der--) = safer->at(izq);
- safer->at(izq++) = t;
- }
- }
- if (der != i) {
- T t = safer->at(der);
- safer->at(der) = safer->at(i);
- safer->at(i) = t;
- }
- return der;
- }
- void quick(std::vector<T>*& safer, long long i, long long f) {
- if (f > i) {
- long long p = pivot(a, i, f);
- quick(a, i, p - 1);
- quick(a, p + 1, f);
- }
- }
- void quicksort(std::vector<T>*& safer, long long n) {
- quick(safer, 0, n - 1);
- }
- std::vector<T>* safe()
- {
- quicksort(safer, safer->size());
- return safer;
- }
- AVLTree<T>*& getTree()
- {
- return this->tree;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement