????????C++ 提供了多种容器,包括数组、向量、列表、集合、映射等。以下是几个 C++ 容器的简单示例:
1,数组
#include <iostream>
int main() {
int arr[5] = {1, 2, 3, 4, 5};
for (int i = 0; i < 5; i++) {
std::cout << arr[i] << " ";
}
return 0;
}
输出结果:1 2 3 4 5
2,向量
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
for (int i = 0; i < vec.size(); i++) {
std::cout << vec[i] << " ";
}
return 0;
}
输出结果:1 2 3 4 5
3,列表
#include <iostream>
#include <list>
int main() {
std::list<int> lst = {1, 2, 3, 4, 5};
for (auto it = lst.begin(); it != lst.end(); it++) {
std::cout << *it << " ";
}
return 0;
}
输出结果:1 2 3 4 5
4,集合
#include <iostream>
#include <set>
int main() {
std::set<int> s = {1, 2, 3, 4, 5};
for (auto it = s.begin(); it != s.end(); it++) {
std::cout << *it << " ";
}
return 0;
}
输出结果:1 2 3 4 5(集合中的元素是无序的)
5,映射(字典)
#include <iostream>
#include <map>
int main() {
std::map<std::string, int> m = {{"apple", 1}, {"banana", 2}, {"orange", 3}};
for (auto it = m.begin(); it != m.end(); it++) {
std::cout << it->first << " : " << it->second << std::endl;
}
return 0;
}
除了上述的几种容器外,C++ 标准库还提供了其他几种容器,包括:
1)、双端队列、队列(deque):双端队列是一个可以在其前端和后端进行插入和删除操作的序列容器;队列是一个先进先出(FIFO)的容器,允许在容器的两端进行插入和删除操作。
2)、多重集合(multiset):多重集合与集合类似,但允许包含重复元素。
3)、多重映射(multimap):多重映射与映射类似,但允许键映射到多个值。
4)、栈(stack):栈是一个后进先出(LIFO)的容器,允许在容器的一端进行插入和删除操作。
5)、优先队列(priority_queue):优先队列是一个可以存储任意类型的元素的容器,每个元素都有一个优先级,队列中的元素按照优先级的高低进行排序。