Guest User

Untitled

a guest
May 21st, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.42 KB | None | 0 0
  1. #pragma once
  2. #include <vector>
  3. #include <iostream>
  4. #include <iomanip>
  5. using namespace std;
  6. template <typename tname>
  7. class mset
  8. {
  9. public:
  10.  
  11. vector<tname> vecSet;
  12. vector<tname>::iterator vi;
  13. vector<tname>::iterator vj;
  14. mset()
  15. {
  16. vecSet.reserve(1);
  17. vecSet[0] = 0;
  18. vi = vecSet.begin();
  19. vj = vecSet.begin();
  20. }
  21.  
  22. void Add(tname value)//добавление элемента в вектор
  23. {
  24. vecSet.push_back(value);
  25. sort();
  26. }
  27. void Rm(int index)//уничтожение элемента
  28. {
  29. vi = index;
  30. vecSet.erase(vi);
  31. sort();
  32. }
  33. bool RmDb() // уничтожение дубликатов
  34. {
  35. sort();
  36. for (vi = vecSet.begin(); vi != vecSet.size(); vi + 1)
  37. {
  38. if (vecSet[vi] == vecSet[vi + 1])
  39. {
  40. vecSet.erase(vi);
  41. }
  42. }
  43.  
  44. }
  45. tname TakeValue(int i)//взятие значения по индексу
  46. {
  47. vi = vecSet.begin();
  48. return vecSet[vi+i];
  49. }
  50. void sort()//сортировка
  51. {
  52. for (vi = vecSet.begin(); vi != vecSet.size(); vi + 1)
  53. {
  54. for (vj = vecSet.begin(); vj != vecSet.size() - 1; j + 1)
  55. {
  56. if (vecSet[vj + 1] < vecSet[vj]) swap(vecSet[vj + 1], vecSet[vj]);
  57. }
  58. }
  59. }
  60. void Print()
  61. {
  62. for (vi = vecSet.begin(); vi != vecSet.size(); vi+1)
  63. {
  64. cout << setw(1) << vecSet[vi];
  65. }
  66. cout << endl;
  67. }
  68. ~mset()
  69. {
  70. }
  71. private:
  72. // vector<tname>::iterator vecIt = 0;
  73. };
Add Comment
Please, Sign In to add comment