蓝桥杯比赛C++常用函数(更新中……)
数据类型转换,sort()排序函数,求最大公约数,字符串函数,vector、map容器
·
数据类型的转换
#include<iostream>
#include<sstream>
using namespace std;
//整形转化为字符串型,其余类推
string itos(int n) {
string s;
sstringstream ss;
ss<<n;
ss>>s;
return s;
}
int main()
{
int n = 1024;
string s = itos(n);
for(int i=0; i<s.length(); i++) {
cout<<s[i]<<",";
}
cout<<endl;
return 0;
}
排序函数
#include<algorithm>
#include<iostream>
using namespace std;
//设置排序方式函数
bool compare(int a, int b) {
return a>b;
}
int main()
{
int a[] = {1,3,2,5,34,3,5,6};
sort(a,a+20,compare);
}
比较字符串内容
#include<iostream>
#include<string.h> //or #include<cstring>
using namespace std;
int main()
{
char *a = "11112";
char *b = "11117";
cout<<strcmp(a,b)<<endl;
return 0;
//a==b -> 返回 0;
//a>b -> 返回大于0的数;
//a<b -> 返回小于0的数;
}
辗转相除法求最大公约数
int fun(int m,int n){
int rem; //余数,当余数为0的时候,最后的m即为最大公约数
//先用较小的数对较大的数取余,再用余数对较小的数求余,直到余数为零
while(n > 0){
rem = m % n;
m = n;
n = rem;
}
return m; //将结果返回
}
vector 容器
#include<iostream>
#include<string.h>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
vector<int> n; //新建容器,类型为int
n.push_back(1024); //向容器内添加元素
n.pop_back(); //移除最后一个数据
cout<<n.size()<<endl; //输出n中数据的数量
n.clear(); //清空n中所有的元素
sort(n.begin(),n.end()); //从小到大排序
reverse(n.begin(),n.end()); //从大到小排序 排序所使用的sort函数可重写
for(int i=0; i<n.size(); i++) {
cout<<n[1]<<endl;
} //访问n中的元素
return 0;
}
map容器
#include<map>
#include<iostream>
using namespace std;
int main()
{
map<char, int>mapstudent; //构建map容器
mapstudent.insert(pair<char,int>('wang',803)); //插入数据
mapstudent['li']=801; //简单的map数据插入
mapstudent.find('aaa');
cout<<mapstudent['wang']<<endl; //根据键查找相应的值,若没有该键,则在map中添加此键
int a = mapstudent.size(); //查看map中数据的数量
cout<<a<<endl;
char key = 'wang'; //判断map中是否含有该键,若有则输出对应的值,没有则不做操作
if(mapstudent.count(key)>0) {
cout<< mapstudent[key]<<endl;;
}
int b = mapstudent.erase('li'); //删除元素,删除成功返回1,否则返回0
cout<<b<<endl;
return 0;
}
更多推荐
已为社区贡献1条内容
所有评论(0)