c++++ 标准库提供容器和算法用于数据组织和操作。容器包括 vector、list、map 和 unordered_map,分别代表数组、双向链表、键值对集合和哈希表。算法包括 find、sort、count 和 remove,分别用于查找元素、排序、计数和删除。实战案例中,容器和算法可用于处理字符串任务,例如从字符串中分割单词并按字典顺序对其进行排序。
C++ 自身函数详解及应用:容器与算法
容器
容器是一种数据结构,用于组织和存储数据。C++ 标准库提供了各种容器,如:
立即学习“C++免费学习笔记(深入)”;
- vector: 可变长度数组
- list: 双向链表
- map: 键值对集合
- unordered_map: 哈希表
使用容器
// 创建一个 vector
vector<int> numbers;
// 向 vector 中添加元素
numbers.push_back(1);
numbers.push_back(2);
numbers.push_back(3);
// 遍历 vector
for (int number : numbers) {
cout << number << endl;
}
算法
算法是针对容器或其他数据结构执行操作的函数。C++ 标准库提供了一系列算法,如:
- find: 在容器中查找元素
- sort: 对容器中的元素进行排序
- count: 统计容器中元素出现的次数
- remove: 从容器中删除元素
使用算法
// 在 vector 中查找元素
int number_to_find = 2;
auto it = find(numbers.begin(), numbers.end(), number_to_find);
// 如果找到元素,则输出其索引
if (it != vector.end()) {
cout << "Found at index: " << it - numbers.begin() << endl;
}
实战案例:字符串操作
在实际应用中,容器和算法可以用于各种任务。例如,以下代码使用容器和算法来处理字符串:
// 创建一个 string vector
vector<string> words;
// 从字符串中分割单词
stringstream ss("This is a sample sentence.");
string word;
while (ss >> word) {
words.push_back(word);
}
// 按照字典顺序对单词进行排序
sort(words.begin(), words.end());
// 输出排序后的单词
for (string word : words) {
cout << word << " ";
}
这展示了如何使用容器来存储字符串,以及使用算法对它们进行操作,例如排序和搜索。