做acm用到的几个C++库函数

来源:互联网 发布:深圳多迪网络靠谱吗 编辑:程序博客网 时间:2024/06/06 11:39

在做acm时往往利用库函数可以既方便又高效的解决一些问题,下面就记录下最近用到的库函数来帮助自己熟悉STL,不定期跟新。

1.sort()函数

stl自带的排序函数,使用头文件的#include <algorithm>。在排序问题中使用此函数可以省去很多精力。

int main()
{
string arr[100];
string tmp;
while(cin>>tmp)
arr[++index]=tmp;
sort(arr,arr+index+1);//利用sort函数排序
for(int i=0;i<=index;i++)
    {
        cout<<arr[i]<<endl; 
    }
return 0;
}

此例中sort函数有两个参数,第一个是指向序列头的指针,第二个是指向序列尾下一位的指针。默认升序排序。

sort还可以有第三个参数,形式如:sort(arr,arr+index+1,cmp);cmp是自定义的比较规则,下面的例子就是按照两个字符串中A的数量进行排序的规则。

bool cmp(string str1,string str2)
{
int num1=0,num2=0;
for(int i=0;i<str1.length();++i)
{
if(str1[i]=='A')
num1++;
}
for(int i=0;i<str2.length();++i)
{
if(str2[i]=='A')
num2++;
}
return num1<num2;
}


2._strrev()函数(strrev()已经过时了,新版本加下划线)

字符串逆置函数,头文件#include <string.h>,参数是一个char数组。处理字符串的利器,返回一个逆置字符串的指针。例子如下

int main()
{
        char temp[100];
char *tmp;
        cin>>temp;
tmp=strrev(temp);
        cout<<tmp;
        return 0; 
}



1 0
原创粉丝点击