linux

Linux中C++如何使用容器类

小樊
50
2025-08-07 23:26:56
栏目: 编程语言

在Linux环境下,C++可以使用标准模板库(STL)中的容器类。STL提供了很多常用的容器类,例如vector、list、deque、set、map等。下面是一些基本的使用方法:

  1. 引入头文件

在使用STL容器类之前,需要引入相应的头文件。例如:

#include <iostream>
#include <vector>
#include <list>
#include <deque>
#include <set>
#include <map>
  1. 声明容器对象

声明一个容器对象非常简单,只需要指定容器类型即可。例如:

std::vector<int> vec; // 声明一个整型向量
std::list<std::string> lst; // 声明一个字符串链表
std::deque<double> deq; // 声明一个双精度浮点数双端队列
std::set<char> st; // 声明一个字符集合
std::map<std::string, int> mp; // 声明一个字符串到整数的映射表
  1. 添加元素

可以使用push_back()、push_front()等方法向容器中添加元素。例如:

vec.push_back(1); // 向向量末尾添加元素1
lst.push_back("hello"); // 向链表末尾添加元素"hello"
deq.push_back(3.14); // 向双端队列末尾添加元素3.14
st.insert('a'); // 向集合中插入元素'a'
mp["key"] = 100; // 向映射表中插入键值对("key", 100)
  1. 访问元素

可以使用下标运算符[]或者迭代器来访问容器中的元素。例如:

int x = vec[0]; // 访问向量第一个元素
std::string s = lst.front(); // 访问链表第一个元素
double d = deq.back(); // 访问双端队列最后一个元素
char c = *st.begin(); // 访问集合第一个元素
int value = mp["key"]; // 访问映射表中键为"key"的值
  1. 遍历容器

可以使用for循环或者迭代器来遍历容器中的元素。例如:

// 使用for循环遍历向量
for (int i = 0; i < vec.size(); i++) {
    std::cout << vec[i] << " ";
}
std::cout << std::endl;

// 使用迭代器遍历链表
for (auto it = lst.begin(); it != lst.end(); it++) {
    std::cout << *it << " ";
}
std::cout << std::endl;

// 使用范围for循环遍历集合
for (char c : st) {
    std::cout<< c << " ";
}
std::cout << std::endl;

// 使用迭代器遍历映射表
for (auto it = mp.begin(); it != mp.end(); it++) {
    std::cout << it->first << ": " << it->second << std::endl;
}

以上是STL容器类的基本使用方法,当然还有其他很多高级用法,可以根据具体需求进行学习和使用。

0
看了该问题的人还看了