C++中常用容器类型的常用函数总结

vector

包含在头文件 #include<vector>,常用的成员函数:
1.元素访问

  • at(pos): 返回指定位置pos的元素
  • front(): 访问第一个元素
  • back(): 访问最后一个元素

2.迭代器

  • begin() :返回指向容器第一个元素的迭代器
  • end(): 返回指向容器尾端的迭代器

3.容量

  • empty():检查容器是否为空
  • size():返回容纳的元素个数
  • capacity():返回当前存储空间能够容纳的元素个数
  • shrink_to_fit(): 通过释放未使用的内存减少内存的使用

4.修改器

  • clear():清除内容
  • iterator insert(iterator pos, const T& value):在 pos 前插入 value ,返回指向被插入value的迭代器
  • void insert( iterator pos, size_type count, const T& value ):在 pos 前插入 value 的 count 个副本,返回指向首个被插入元素的迭代器
  • iterator erase( iterator pos ): 从容器删除指定的位置的元素,并返回指向下一个元素的迭代器
  • iterator erase( iterator first, iterator last ):移除范围 [first; last) 中的元素
  • push_back(const T& value):追加元素
  • pop_back() 移除容器尾端的元素
    // 迭代并打印 vector 的值简写方法
    for(int value: values) {
        std::cout<< value << endl;
    }

string

包含在头文件 #include<string>,常用的成员函数:
1.数值转换

  • stoi、stol、stoll:将字符串转换为有符号整型
  • stoul、stoull:将字符串转换为无符号整型
  • stof、stod、stold:将字符串转换为浮点型
  • to_string() 将整型、浮点型转换为字符串

2.从C语言中保留的函数

  • strcpy(s1, s2):复制字符串s2到字符串s1
  • strcat(s1, s2):连接s2到s1的末尾 +
  • strlen(s1):返回字符串s1的长度
  • strcmp(s1, s2):比较 <、>
  • strchr(s1, ch):返回指向s1中字符ch 第一次出现的位置
  • strstr(s1, s2): 返回指针指向s1中s2第一次出现的位置

3.其它常用的

  • bool starts_with(const CharT* x)
  • size()、length(): 返回字符串的长度
  • empty(): 判断是否为空
  • str[n-1]、str.at(n-1) :存取第n个字符
  • substr(int pos = 0, int n = npos) :返回pos开始的n个字符组成的字符串

4.查找函数:查找成功时返回所在位置,失败返回string::npos的值

  • int find(char c, int pos = 0) :从pos开始查找字符c在当前字符串的位置;
  • int find(const char *s, int pos = 0) :从pos开始查找字符串s在当前串中的位置

map

定义于头文件<map>
1.修改器

  • size_type erase( const key_type& key ):移除关键字等于key的元素,返回被移除的元素个数

2.查找

  • iterator find( const Key& key ):返回指向键值等于key的元素的迭代器,若找不到这种元素,则返回end()迭代器;

stack

定义于头文件<stack>

  1. 元素访问
    -top(): 获取栈顶元素

2.容量

  • empty():检查栈是否为空
  • size(): 返回容纳的元素个数

3.修改器

  • push() :向栈顶插入元素
  • pop() :删除栈顶元素

queue

定义于头文件 <queue>
1.元素访问

  • front():访问队首元素
  • back():访问队尾元素

2.容量

  • empty():检查队列是否为空
  • size(): 返回容纳的元素个数

3.修改器

  • push(): 向队尾插入元素
  • pop(): 删除队首元素

deque 双端队列

定义于头文件 <deque>
1.元素访问

  • front():访问队首元素
  • back():访问队尾元素
  • at()、[]: 访问指定位置的元素

2.容量

  • empty():检查队列是否为空
  • size(): 返回容纳的元素个数

3.修改器

  • push_back(): 向队尾插入元素
  • pop_back(): 删除队尾元素
  • push_front():向队首插入元素
  • pop_front():删除队首元素

跑个题,还有个觉得需要记录一下的:

#include<climits> // 包含在climits头文件中
INT_MAX  // int类型的最大值
INT_MIN // int类型的最小值
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,295评论 6 512
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,928评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,682评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,209评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,237评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,965评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,586评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,487评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,016评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,136评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,271评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,948评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,619评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,139评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,252评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,598评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,267评论 2 358

推荐阅读更多精彩内容