本篇文章主要讲解一些stl库中的一些常用函数,有些没有写全,欢迎评论区补全哦
目录
iostream:
algorithm:
sort函数:
reverse函数:
max_element(a,a+n)和min_element(a,a+n)
low_bound函数和upper函数
swap函数 :
string和string.h:
find函数
repalce函数
substr函数
strlen函数
memset函数
fill函数
strcmp函数
首先当然是最好用的万能头文件啦:#include
这个头文件中包含了绝大部分我们所需要的头文件,比如stdio.h algorithm math.h 等等
当然在使用它时记得要配合using namespace std; 使用哟,这是因为using namespace std; 这样命名空间std内定义的所有标识符都有效(曝光)。但这又会带来了一个新问题。无数原有的C++代码都依赖于使用了多年的伪标准库中的功能,他们都是在全局空间下的。所以就有了
iostream头文件包含了我们经常用到的cin和cout语法
cin就是相当于scanf,用来从键盘获取数据的,cout相当于printf,是用来输出的
而endl相当于\n换行,不过也要配合cout使用例如:cout<
当然cout也是可以控制输出精度的例如cout<
在这里就不在深入了
该头文件中包含了我们经常使用的sort函数,reverse函数,max_element函数,min_element函数,lower_bound函数,upper_bound函数,find函数,binary_search,swap函数等等
这基本都是我们比较常见的函数了
#include
using namespace std;
int main(){
int a[]={6,5,4,3,2,1};
sort(a,a+6);
for(int i=0;i<6;i++){
cout<
#include
using namespace std;
int main(){
int a[]={6,5,4,3,2,1};
reverse(a,a+6);
for(int i=0;i<6;i++){
cout<
当然这里的a+n中的n是你所想要查询的范围,也就是说如要你要查询前四个数中最大值就直接max_element(a,a+4)就可以啦,当然你也可以查询1-4中最大值那就直接max_element(a+1,a+4)就可以啦,min_element函数也是一个道理
#include
using namespace std;
int main(){
int a[]={16,54,4,30,28,1};
cout<<*max_element(a,a+6)<
详细用法
#include
using namespace std;
int main(){
int a[]={16,54,4,30,28,1};
sort(a,a+6);
int t=lower_bound(a,a+6,16)-a;//注意这个函数要在有序的情况下使用哟
//其实lower_bound函数就是返回第一个大于等于你的目的数的地址
//目的数就是函数中的最后一个数,在这个例子中是16
//而upper_bound函数就是返回第一个大于目的数的地址,注意要减去地址a哦
cout<
#include
using namespace std;
int main(){
int a[]={1,2,3,4,5};
swap(a[0],a[1]);
for(int i=0;i<5;i++)
cout<
注意哟string头文件就是#include
先讲string吧,它里面包括的我们经常使用的就是find()函数和replace()函数,substr()函数
这个是在字符串中的用法
#include
using namespace std;
int main(){
string str="abcdefg";
string ss="de";
int n=str.find(ss);//这里输出3,是因为find函数
//是在str字符串中找到第一个出现ss字符串中的第一个子母的下标
cout<
这个是在vector(后面讲)中的用法
#include
using namespace std;
int main(){
vectorve;
int a[]={1,2,3,4,5,6};
for(int i=0;i<6;i++)
ve.push_back(a[i]);
int it;
it=find(ve.begin(),ve.end(),3)-ve.begin();//这里ve.begin()是ve的起始地址
//ve.end()是最后一个元素后面的地址,3在这里是你要查找的数
cout<
#include
using namespace std;
int main(){
string str="abcdefg";
string st="bcd";
str.replace(str.find(st),3,"china");//replace一般配合find函数使用得到st第一个出现在str中的下标
//也叫地址,3,是你想要替换的长度,“china”是你想要替换的字符串
cout<
#include
using namespace std;
int main(){
string str="abcdefg";
string st;
st=str.substr(0,3);//0是起始地址,3是尾地址,不包括3 ,当然数据随便给,,
//但是要保证起始大于尾地址,并且确保不溢出
cout<
这里继续讲解string.h头文件中常用的库函数
#include
using namespace std;
int main(){
char c[500],a[500],b[500];
b[500]='i love China';
cout<>c;//这里我输入i love China
cout<
#include
using namespace std;
int main(){
int a[500];
/*1 for(int i=0;i<10;i++){
cout<
既然这里说了初始化函数,那么这里也将一下fill函数吧
#include
using namespace std;
int main(){
bool flag[500];
fill(flag,flag+50,false);
for(int i=0;i<10;i++)
if(flag[i]==false)cout<<"初始化成功"<<" "; //这里成功了
//一般memset函数应用于初始化数组为0,但是fill函数可以初始化成为任何值
}
#include
using namespace std;
int main(){
char str[]="HNUCM";
char str1[]="HNUCm";
if(strcmp(str,str1)==0) cout<<"相等哟"<
ps:这几天比较忙更新可能比较少,见谅哈