c++ 常用STL整理

2019-07-05  本文已影响0人  若昭

最近在练习C++编程,做了一些牛客和力扣上面的题目,发现常用的C++ STL 有以下几种,对此进行简要总结,以便自己及时复习。

文章大多来自转载,感谢社区程序员的共享。

C++ 中常用的STL 有:

  1. algorithm:
    #include<algorithm>
algorithm 在STL中的应用主要是: sort()   swap()   reverse()   find()
max(), min(), abs()
swap()
reverse()  //reverse(vi.begin(), vi.end());
sort()     // sort(a, a+4);
find()     // find(vi.begin(), vi.end(), 3);
next_permutation()    // could get all sequence for several numbers. 000_algorithm.cpp
fill()     // fill(a, a+5, 233);
*min_element(num,num+6)
*max_element(num,num+6)
lower_bound和upper_bound()

https://blog.csdn.net/weixin_40349531/article/details/88361095

  1. math:
    #include<cmath>
    // #include<math.h>

https://blog.csdn.net/zy2317878/article/details/79414431
https://blog.csdn.net/FX677588/article/details/52962798

  1. vector:
    #include<vector>
push_back();
pop_back();
begin();
end();
insert();
erase();
find();
at();
size();

http://blog.chinaunix.net/uid-26000296-id-3785623.html
http://blog.chinaunix.net/uid-26000296-id-3785610.html
https://www.cnblogs.com/aminxu/p/4686332.html

  1. string:
    #include<string>
data();       // 返回指向自己的第一个字符的指针
+=            // 连接操作符
append();
insert();
find();       // if not include, return iterator::end()
replace();
size();
substr();
swap();

http://blog.chinaunix.net/uid-26000296-id-3781405.html
https://www.cnblogs.com/aminxu/p/4686320.html#at

  1. set:
    #include<set>
// set的特性是,所有元素都会根据元素的键值自动排序.
// set的元素不像map那样可以同时拥有实值(value)和键值(key),set元素的键值就是实值,实值就是键值。
// set不允许两个元素有相同的键值.

https://www.cnblogs.com/omelet/p/6627667.html

  1. map:
    #include<map>
// map的特性是,所有元素都会根据元素的键值自动被排序。
// map的所有元素都是pair,同时拥有实值(value)和键值(key)。
// pair的第一个元素会被视为键值,第二个元素会被视为实值。
// map不允许两个元素拥有相同的键值。

map<string , int> strMap;    // constructor
strMap.insert(map<string, int>::value_type("a", 1));
strMap["a"] = 1;             // for insert, will override 覆盖之前的值
size();

https://www.cnblogs.com/omelet/p/6617362.html
https://blog.csdn.net/sevenjoin/article/details/81943864

  1. others:
    7.1 int <--> string
#include <iostream>
#include <string>
#include <sstream>
#include <stdlib.h>
using namespace std;
int main()
{
    // int 转 string
    stringstream ss;
    int n = 123;
    string str;
    ss<<n;
    ss>>str;
    cout << str << endl;
    // string 转 int
    str = "456";
    n = atoi(str.c_str());
    cout << n << endl;

    return 0;
}

7.2 int number <--> char

char ch = '2';
int in = ch - '0';
in = in + 1;
char chHigher = in + '0';

7.3 random number:

#include <stdlib.h>
#include <iostream>
#include <time.h>
#define MAX 100
using namespace std;
int  main()
{
    srand( (unsigned)time(NULL) );
    for(int i=0; i<10; i++)
        cout<<rand()%MAX<<endl;

    return 0;
}

https://www.jb51.net/article/124108.htm

上一篇下一篇

猜你喜欢

热点阅读