C++ 代码书写常用函数总结(持续更新)
Write your description here.
views
| comments
写在前面的#
在华为这快一年的时间,先后也参加了几场可信考试,这里对我之前常用的相关函数,stl容器,进行了整理,后面如果有时间的话还会继续更新的。
编程过程中的常用头文件#
常用库系列
#include <stdio.h>
#include <iostream>
#include <iomainip>
#include <fstream>
#include <algorithm>
#include <numeric> 包含一些常用的数值计算的工具
C风格库延续
#include <cstdlib>
#include <cmath>
#include <cctype>
#include <cstring>
#include <ctime>
STL容器相关
#include <string>
#include <stack>
#include <queue>
#include <deque> 双向队列
#include <set>
#include <map>
#include <vector>
#include <list>
C++11扩展
#include <turple> 对pair的强化
plaintextstd标准库下的相关函数及其操作(#include )#
- atoi(const char* str) 将一串字符串转换为int型
- atof(const char* str) 将一串字符串转换为double型
- abs(int n) 取绝对值
- fill(v.begin(), v.end(), value)
- sort() 时间复杂度n*logn的排序算法,默认升序
- max(int a, int b) 取最大值
- max(int a, int b) 取最小值
- stoi() string类型字符串转换为int型
- stod() string类型字符串转换为double型
- to_string() 重载方法,将一些整形,浮点型转换为string类型的字符串
- strcmp(char* str1, char * str2) 比较两个字符串,前一个小,返回<0, 前一个大返回>0, 否则返回0
- strcpy(char* destination, char * source) 将后一个字符串拷贝到前一个字符串
- isalnum() 判断一个字符是不是alphanumeric, 即大小写英文字母或者是数字
- isalpha() 判断一个字符是不是alphabetic, 即英文字母
- isdigit() 判断一个字符是不是数字
- tolower() 将大写转换为小写
- toupper() 将小写转换为大写
STL容器相关#
C++ STL(标准库模板)是一套功能强大的C++模板类,提供了通用的模板类和函数,C++标准模板库的核心包括一下三个组件:
- 容器(Containers):容器是用来管理某一类对象的集合。C++提供了各种不同类型的容器,比如deque,list,vector,map等
- 算法(Algorithms):算法作为容器。他们提供了执行各种操作的方式,包括对容器内容执行初始化、排序、搜索和转换等操作。
- 迭代器(iterators):迭代器用于遍历对象集合的元素。这些集合可能是容器,也可能是容器的子集,这三个组件都带有丰富的预定义函数,帮助我们通过简单方式处理复杂的任务
STL常用容器#
- vector
- stack
- set
- queue
- list
- map
- string
- deque
- priority_queue: 优先队列
容器的主要操作有:#
- 容器的初始化
- 元素的插入
- 元素的删除
- 查询相关元素
- 遍历整个容器
- 统计元素的个数
- 检查容器是否为空
vector#
构造函数:#
- stack
stkT 采用模板类实现,stack对象的默认构造形式 - stack(const stack& stk): 拷贝构造函数
常用赋值比较操作:#
- v1 == v2
- v1 != v2
- v1 <= v2
- v1 >= v2
- v1 < v2
- v1 > v2
常用方法:#
- assign():对vector中的元素赋值
- at():返回指定位置的元素
- back():返回最后一个元素
- insert():插入元素到vector中
- begin():返回首元素迭代器
- end():返回最末位置的迭代器(实际指向最末元素的下一个位置)
- capacity():返回vector所能容纳的元素的数量(在不重新分配内存的情况下)
- clear():返回指定位置的元素
- empty():返回最后一个元素
- erase():返回首元素迭代器
- front():返回最开始的元素
- get_allocator:返回vector的内存分配器
- max_size():返回vector所能容纳的元素的最大数量(上限)
- pop_back():弹出最后一个元素
- push_back():在vector最后添加一个元素
- rbegin():返回vector尾部的逆向迭代器
- rend():返回vector起始的逆向迭代器
- reserve():设置vector最小的元素容纳数量
- resize():改变vector元素数量的大小
- size():返回vector元素数量的大小
- swap():交换两个vector
stack#
堆栈实现了一个先入后出(FILO)的数据结构
构造函数:#
- stack
stkT 采用模板类实现,stack对象的默认构造形式 - stack(const stack& stk): 拷贝构造函数
常用方法:#
- size():返回栈中的元素的个数
- top():返回栈顶的元素(新加入的元素)
- pop():弹出栈顶元素(删除)
- push(x):向栈顶后添加元素x
- empty():在栈为空时返回true
set#
集合中以一种特定的顺序保存唯一的元素,本身自带去重功能,自带键值排序(标准数据类型)
构造函数: