#include
#include
#include
#include
using namespace std;
/**
* vector去除重复元素
* @tparam T
* @param result
* @return
*/
template
vector vector_distinct(vector result) {
sort(result.begin(), result.end());
auto ite = unique(result.begin(), result.end());
//删除重复的元素
result.erase(ite, result.end());
return result;
}
/**
* 利用set为vector数组去重
* @tparam T
* @param vec
* @return
*/
template
vector vectorToset_distinct(vector vec) {
set st(vec.begin(), vec.end());
vec.assign(st.begin(), st.end());
return vec;
}
int main() {
vector v_str1 = {"a", "b", "c", "d", "e", "b"};
vector v_res = vector_distinct(v_str1);
vector vs_res = vectorToset_distinct(v_str1);
cout << "v_str1=";
for (auto v:v_str1) {
cout << v << ",";
}
cout << endl;
cout << "v_res=";
for (auto v:v_res) {
cout << v << ",";
}
cout << endl;
cout << "vs_res=";
for (auto v:vs_res) {
cout << v << ",";
}
cout << endl;
}