std::vector,是一種動態(tài)數(shù)組,可以動態(tài)調(diào)整大小和存儲任意類型的數(shù)據(jù)元素,其中char表示存儲的元素類型為字符。字符vector常用于存儲字符串和字符流等數(shù)據(jù)。使用字符vector可以方便地進(jìn)行增刪查改等操作,也可以通過遍歷等操作實(shí)現(xiàn)字符串的處理。 以下是一些常用的字符vector操作:
1. 創(chuàng)建字符vector
std::vector v{'a', 'b', 'c'}; // 利用初始化列表創(chuàng)建字符vector
std::vector v(10); // 創(chuàng)建長度為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(); // 返回當(dāng)前字符vector的元素?cái)?shù)量
v.capacity(); // 返回當(dāng)前字符vector的容量(能夠存儲的最大元素?cái)?shù)量)
v.resize(20); // 改變字符vector的長度,擴(kuò)大時(shí)在末尾添加'\0'
v.shrink_to_fit(); // 收縮字符vector的容量,使其正好能存儲當(dāng)前元素?cái)?shù)量
5. 訪問元素
v[2]; // 訪問第3個位置的元素
v.at(2); // 訪問第3個位置的元素,與v[2]等效,但會進(jìn)行越界檢查
v.front(); // 返回第一個元素
v.back(); // 返回最后一個元素
6. 清空字符vector
v.clear(); // 清空字符vector,將元素?cái)?shù)量設(shè)為0,但不釋放容量
7. 字符vector的遍歷
for(auto c : v){ // 使用范圍for循環(huán)遍歷字符vector
??std::cout << c << " "; // 打印每個元素
}
for(int i=0; i v(str.begin(), str.end()); // 將字符串轉(zhuǎn)換為字符vector
10. 查找字符
auto it = std::find(v.begin(), v.end(), 'l'); // 查找字符l出現(xiàn)的第一個位置
11. 替換字符
std::replace(v.begin(), v.end(), 'l', 'w'); // 將字符l替換為字符w
以上是一些常用的字符vector操作示例,字符vector可以與其他STL容器、算法和迭代器等聯(lián)合使用,實(shí)現(xiàn)更強(qiáng)大的計(jì)算能力,比如通過sort進(jìn)行字符排序等操作。
標(biāo)簽: