c++一些小算法

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;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章