STL常见用法
Posted littlepage
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STL常见用法相关的知识,希望对你有一定的参考价值。
1、选择C++刷算法的理由
- 1.C++速度快(C不是更快么,java太慢了)
- 2.C++有STL(什么是STL)——使用很方便的类库
- 3.如何使用STL进行高效刷算法
- 4.好处:刷算法,学习成本极低
- 5.如何从C到C++(仅基础语法到刷算法程度)
俗话说:磨刀不误砍柴工
不会c++仍然可以做,但是效率低
2、输入输出
C++保留了C的scanf和printf,增加了额外的cin与cout
例子
2.1.C程序中输入输出
int a;
scanf("%d",&a);
printf("%d",a);
2.2.C++输入输出
int a;
cin>>a;
cout<<a;
2.3.连续输入输出变量
int a,b,c;
cin>>a>>b>>c;
cout<<a<<b<<c;
2.4.优雅地换行
cout<<1;
cout<<endl;
cout<<2;
cout<<3<<endl<<endl;
好处:
1.少写了很多东西
2.连续输入输出变量
3.换行优雅
注意:cin、cout比scanf、printf慢,有时候刷算法超时,可能因为使用了cin、cout
输入输出的数量(>1000)特别多,刷算法用cin,cout容易超时
3、STL(Standard Template Library)与algorithm头文件
STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。
algorithm是对容器继承的一些算法函数,辅助刷算法题
sort函数
概念:迭代器——理解为指针
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int a[]={2,1,5,0,-1,5,9};
sort(a,a+7);
for(int i=0;i<7;i++)
cout<<a[i]<<" ";
cout<<endl;
system("pause");
return 0;
}
4、STL——string(*)
概念:相当于char*的封装,理解为字符串
4.1.简单使用
/**C中定义字符串以及打印*/
char *ch="asdkajbf";
for(int i=0;ch[i]!='