【实用向】一些简单实现

1.map容器转vector保存并通过value值排序方法

	map<char, int> card;
	for (int i = 0; i < s.size(); i++)
	{
		card[s[i]]++;
	}
	vector<pair<char, int> > vmap;
	for (map<char, int>::iterator it = card.begin(); it != card.end(); it++)
	{
		vmap.push_back(make_pair(it->first, it->second));
	}
      bool cmp(const pair<char, int>& p1, const pair<char, int>& p2)
       {
	        return p1.second > p2.second; //升序排列,p1的value大于p2,则输出p1在前。
       }

map以pair保存,make_pair构建,存入vector,使用sort函数,进行内部的排序。

2.不是素数检查

//不是素数检查 ,是素数,返回true,不是素数,返回false
bool P(int n) {
	for (int i = 2; i <= sqrt(n); i++)
		if (n % i == 0)
			return false;
	return true;
}

3.n个数最大公约数和最小公倍数

//最大公约数
int gys(int a, int b)
{
	while (b)
	{
		int r = a % b;
		a = b;
		b = r;
	}
	return a;
}

int gbs(int a, int b)
{
	return a / gys(a, b) * b;
}
原文地址:https://www.cnblogs.com/EvansPudding/p/12632309.html