Advertisement
Guest User

Untitled

a guest
Nov 15th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.30 KB | None | 0 0
  1. #include "header.hpp"
  2.  
  3. int digit_count(const std::string& str)
  4. {
  5. if (str.size() == 0)
  6. {
  7. return 0;
  8. }
  9. int counter = 0;
  10. for (size_t i = 0; i < str.size(); i++)
  11. {
  12. if (isdigit(str[i]))
  13. {
  14. ++counter;
  15. }
  16. }
  17. return counter;
  18. }
  19.  
  20. std::vector<std::string> CustomSort(std::vector<std::string>& vec)
  21. {
  22. if (vec.size() == 0)
  23. {
  24. return vec;
  25. }
  26. for (size_t i = 0; i < vec.size() - 1; i++)
  27. {
  28. for (size_t k = 0; k < vec.size() - 1 - i; k++)
  29. {
  30. if (digit_count(vec[k]) > digit_count(vec[k + 1]))
  31. {
  32. std::swap(vec[k], vec[k + 1]);
  33. }
  34. }
  35. }
  36. return vec;
  37. }
  38.  
  39. std::map<std::string, int> zip(const std::vector<std::string>& s_vec, const std::vector<int>& i_vec)
  40. {
  41. std::map<std::string, int> Map;
  42. if (s_vec.size() != i_vec.size())
  43. {
  44. return Map;
  45. }
  46. for (size_t i = 0; i < s_vec.size(); i++)
  47. {
  48. Map.insert(make_pair(s_vec[i], i_vec[i]));
  49. }
  50. return Map;
  51. }
  52.  
  53. std::list<std::string> clear(std::list<std::string>& list)
  54. {
  55. std::set<std::string> set;
  56. for (auto it = list.begin(); it != list.end(); ++it)
  57. {
  58. if (set.find(*it) == set.end())
  59. {
  60. set.insert(*it);
  61. } else {
  62. auto iter = set.find(*it);
  63. set.erase(iter);
  64. }
  65. }
  66. list.erase(list.begin(), list.end());
  67. for (auto it = set.begin(); it != set.end(); ++it)
  68. {
  69. list.push_back(*it);
  70. }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement