std::vector,是一种动态数组,可以动态调整大小和存储任意类型的数据元素,其中char表示存储的元素类型为字符。字符vector常用于存储字符串和字符流等数据。使用字符vector可以方便地进行增删查改等操作,也可以通过遍历等操作实现字符串的处理。 以下是一些常用的字符vector操作:
1. 创建字符vector
std::vector v{'a', 'b', 'c'}; // 利用初始化列表创建字符vector
std::vector v(10); // 创建长度为10的字符vector,初始值为'\0'
2. 插入元素
v.push_back('d'); // 在末尾插入字符d
v.insert(v.begin()+2, 'x'); // 在第3个位置插入字符x
3. 删除元素
v.pop_back(); // 删除末尾字符
v.erase(v.begin()+2); // 删除第3个位置字符
4. 大小和容量
v.size(); // 返回当前字符vector的元素数量
v.capacity(); // 返回当前字符vector的容量(能够存储的最大元素数量)
v.resize(20); // 改变字符vector的长度,扩大时在末尾添加'\0'
v.shrink_to_fit(); // 收缩字符vector的容量,使其正好能存储当前元素数量
5. 访问元素
v[2]; // 访问第3个位置的元素
v.at(2); // 访问第3个位置的元素,与v[2]等效,但会进行越界检查
v.front(); // 返回第一个元素
v.back(); // 返回最后一个元素
6. 清空字符vector
v.clear(); // 清空字符vector,将元素数量设为0,但不释放容量
7. 字符vector的遍历
for(auto c : v){ // 使用范围for循环遍历字符vector
std::cout << c << " "; // 打印每个元素
}
for(int i=0; i v(str.begin(), str.end()); // 将字符串转换为字符vector
10. 查找字符
auto it = std::find(v.begin(), v.end(), 'l'); // 查找字符l出现的第一个位置
11. 替换字符
std::replace(v.begin(), v.end(), 'l', 'w'); // 将字符l替换为字符w
以上是一些常用的字符vector操作示例,字符vector可以与其他STL容器、算法和迭代器等联合使用,实现更强大的计算能力,比如通过sort进行字符排序等操作。
标签: