在Ubuntu中,C++可以使用标准模板库(STL)中的各种容器。以下是一些常用的STL容器及其使用方法:
向量是一个动态数组,可以在运行时调整大小。要使用向量,需要包含头文件<vector>
。
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec; // 创建一个整数向量
// 添加元素
vec.push_back(1);
vec.push_back(2);
vec.push_back(3);
// 访问元素
std::cout << "第一个元素: " << vec[0] << std::endl;
// 遍历向量
for (int i = 0; i < vec.size(); ++i) {
std::cout << vec[i] << " ";
}
std::cout << std::endl;
return 0;
}
列表是一个双向链表,可以在常数时间内插入和删除元素。要使用列表,需要包含头文件<list>
。
#include <iostream>
#include <list>
int main() {
std::list<int> lst; // 创建一个整数列表
// 添加元素
lst.push_back(1);
lst.push_back(2);
lst.push_back(3);
// 访问元素
std::cout << "第一个元素: " << lst.front() << std::endl;
// 遍历列表
for (int num : lst) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
集合是一个有序的容器,其中的元素是唯一的。要使用集合,需要包含头文件<set>
。
#include <iostream>
#include <set>
int main() {
std::set<int> st; // 创建一个整数集合
// 添加元素
st.insert(1);
st.insert(2);
st.insert(3);
// 遍历集合
for (int num : st) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
映射是一个键值对的容器,其中的键是唯一的。要使用映射,需要包含头文件<map>
。
#include <iostream>
#include <map>
int main() {
std::map<std::string, int> mp; // 创建一个字符串到整数的映射
// 添加元素
mp["one"] = 1;
mp["two"] = 2;
mp["three"] = 3;
// 访问元素
std::cout << "one: " << mp["one"] << std::endl;
// 遍历映射
for (const auto& pair : mp) {
std::cout << pair.first << ": " << pair.second << std::endl;
}
return 0;
}
这些只是STL容器的一部分。还有其他容器,如deque
(双端队列)、stack
(栈)、queue
(队列)等。要使用这些容器,请查阅C++标准库文档以获取更多信息。