1.C++中vector,set,map自定義排序 - 789請問的博客 - CSDN博客 https://blog.csdn.net/u013553694/article/details/100627066
2.C++ 利用set爲vector數組去重
#include<set>
#include<vector>
#include<iostream>
using namespace std;
int main()
{
vector<int> vec;
vec = { 1, 1, 2, 1};
set<int> st(vec.begin(), vec.end());
vec.assign(st.begin(), st.end());
vector<int>::iterator it;
for (it = vec.begin(); it != vec.end(); it++)
cout << *it << endl;
getchar();
return 0;
}
3.統計數組(或者向量)中各元素出現的次數
#include <map>
#include <iostream>
using namespace std;
int main(void)
{
int i;
int a[] = { 1, 2, 3, 4, 5, 5, 5 };
map<int, int> m;
for (i = 0; i < 7; i++)
{
if (m.find(a[i]) != m.end()) {
m[a[i]]++;
}
else {
m.insert(pair<int, int>(a[i], 1));
}
}
map<int,int>::iterator iter;
for (iter = m.begin(); iter != m.end(); ++iter) {
cout << (*iter).first << ":" << (*iter).second << endl;
}
system("pause");
return 0;
}
4.在vector中查找元素及其位置
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector <int> vecIntegerArray;
vecIntegerArray.push_back(5);
vecIntegerArray.push_back(9);
vecIntegerArray.push_back(2);
vecIntegerArray.push_back(3);
cout << "the contents of the vector are: " << endl;
vector <int>::iterator iArrayWalker = vecIntegerArray.begin();
while (iArrayWalker != vecIntegerArray.end())
{
cout << *iArrayWalker << endl;
iArrayWalker++;
}
vector <int>::iterator iElement = find(vecIntegerArray.begin(),
vecIntegerArray.end(), 3);
if (iElement != vecIntegerArray.end())
{
int nPosition = distance(vecIntegerArray.begin(), iElement);
cout << "Value " << *iElement;
cout << " find in the vector at position: " << nPosition + 1 << endl;
}
getchar();
return 0;
}
4.在string中查找元素及其位置
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str("abcccabc");
int num = 0;
size_t fi = str.find("abc", 0);
while (fi != str.npos)
{
cout << fi << " ";
num++;
fi = str.find("abc", fi + 1);
}
if (num == 0)
cout << "not find!";
cout << endl;
getchar();
return 0;
}