Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma once
- #include <vector>
- #include <iostream>
- #include <iomanip>
- using namespace std;
- template <typename tname>
- class mset
- {
- public:
- vector<tname> vecSet;
- vector<tname>::iterator vi;
- vector<tname>::iterator vj;
- mset()
- {
- vecSet.reserve(1);
- vecSet[0] = 0;
- vi = vecSet.begin();
- vj = vecSet.begin();
- }
- void Add(tname value)//добавление элемента в вектор
- {
- vecSet.push_back(value);
- sort();
- }
- void Rm(int index)//уничтожение элемента
- {
- vi = index;
- vecSet.erase(vi);
- sort();
- }
- bool RmDb() // уничтожение дубликатов
- {
- sort();
- for (vi = vecSet.begin(); vi != vecSet.size(); vi + 1)
- {
- if (vecSet[vi] == vecSet[vi + 1])
- {
- vecSet.erase(vi);
- }
- }
- }
- tname TakeValue(int i)//взятие значения по индексу
- {
- vi = vecSet.begin();
- return vecSet[vi+i];
- }
- void sort()//сортировка
- {
- for (vi = vecSet.begin(); vi != vecSet.size(); vi + 1)
- {
- for (vj = vecSet.begin(); vj != vecSet.size() - 1; j + 1)
- {
- if (vecSet[vj + 1] < vecSet[vj]) swap(vecSet[vj + 1], vecSet[vj]);
- }
- }
- }
- void Print()
- {
- for (vi = vecSet.begin(); vi != vecSet.size(); vi+1)
- {
- cout << setw(1) << vecSet[vi];
- }
- cout << endl;
- }
- ~mset()
- {
- }
- private:
- // vector<tname>::iterator vecIt = 0;
- };
Add Comment
Please, Sign In to add comment