STL刷题基础

本文介绍了为何选择C++刷算法,重点讲解了STL的基本用法,包括输入输出、常用容器如vector、stack、queue、map、set、deque和list的使用,以及algorithm头文件中的sort函数和迭代器概念。还提到了string的操作和C++ 11的新特性在循环中的应用。
摘要由CSDN通过智能技术生成

STL常见用法(刷题足够)

1、选择C++刷算法的理由

  • 1.C++速度快(C不是更快么,java太慢了)
  • 2.C++有STL(什么是STL)——使用很方便的类库
  • 3.如何使用STL进行高效刷算法
  • 4.好处:刷算法,学习成本极低
  • 5.如何从C到C++(仅基础语法到刷算法程度)

2、输入输出
2.1.C程序中输入输出

int a;
scanf("%d",&a);
printf("%d",a);

2.2.C++输入输出

int a;
cin>>a;
cout<<a;

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]!='\0';i++) cout<<*(ch+i);
/**C++中*/
string s="ssadaffw";
cout<<s<<endl;

4.3.+=运算符
+=对于字符串,字符有效,数字会转为asc码

string s;
s+="hello";
s+=" world";
s+='5';
s+=10;//10对应的asc码是换行
int a=5;//想把a加入字符串
s+=(a+'0');
cout<<s;

4.4.排序(使用algorithm)

string s="5418340";
sort(s.begin(),s.end());
cout<<s;

4.5.erase函数

/**begin是头迭代器,end是尾迭代器*/
string s="5418340";
s.erase(s.begin());//删除第一个
s.erase(--s.end());//删除最后一个
cout<<s;

4.6.substr函数

/**begin是头迭代器,end是尾迭代器*/
string s="5418340";
s=s.substr(1,3);//取418,取索引为1,往后截断3个
s=s.substr(1,-1);//索引为1,截断到最后
cout<<s;

4.7.循环(3种)
1.for循环

string s="5418340";
for(int i=0;i<s.length();i++) cout<<s[i];

2.迭代器

for(string::iterator it=s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值