Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "header.hpp"
- int digit_count(const std::string& str)
- {
- if (str.size() == 0)
- {
- return 0;
- }
- int counter = 0;
- for (size_t i = 0; i < str.size(); i++)
- {
- if (isdigit(str[i]))
- {
- ++counter;
- }
- }
- return counter;
- }
- std::vector<std::string> CustomSort(std::vector<std::string>& vec)
- {
- if (vec.size() == 0)
- {
- return vec;
- }
- for (size_t i = 0; i < vec.size() - 1; i++)
- {
- for (size_t k = 0; k < vec.size() - 1 - i; k++)
- {
- if (digit_count(vec[k]) > digit_count(vec[k + 1]))
- {
- std::swap(vec[k], vec[k + 1]);
- }
- }
- }
- return vec;
- }
- std::map<std::string, int> zip(const std::vector<std::string>& s_vec, const std::vector<int>& i_vec)
- {
- std::map<std::string, int> Map;
- if (s_vec.size() != i_vec.size())
- {
- return Map;
- }
- for (size_t i = 0; i < s_vec.size(); i++)
- {
- Map.insert(make_pair(s_vec[i], i_vec[i]));
- }
- return Map;
- }
- std::list<std::string> clear(std::list<std::string>& list)
- {
- std::set<std::string> set;
- for (auto it = list.begin(); it != list.end(); ++it)
- {
- if (set.find(*it) == set.end())
- {
- set.insert(*it);
- } else {
- auto iter = set.find(*it);
- set.erase(iter);
- }
- }
- list.erase(list.begin(), list.end());
- for (auto it = set.begin(); it != set.end(); ++it)
- {
- list.push_back(*it);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement