holyya.com
2025-09-04 17:33:21 Thursday
登录
文章检索 我的文章 写文章
C++ 容器操作
2023-06-22 00:08:03 深夜i     --     --
C++ 容器 操作

C++是一门非常流行的编程语言,拥有丰富的内置容器,能够方便地对数据进行操作。C++容器的使用十分重要,因为它们可以简化程序的编写过程,并提高程序的运行效率。下面我们就来介绍一下C++容器的常见操作。

1. 创建容器

C++中常用的容器有 vector、list、map、set 等。创建容器的方式如下:


#include <vector>

#include <list>

#include <map>

#include <set>

vector<int> vec;     // 创建一个整型向量 vec

list<string> lst;    // 创建一个字符串链表 lst

map<string, int> map_;  // 创建一个字符串到整型的映射 map

set<double> set_;    // 创建一个单精度浮点型的集合 set

2. 容器插入操作

插入元素是操作容器中最常用的操作之一。向容器插入元素有多种方式:


// 向容器尾部插入一个元素

vec.push_back(10);

// 向容器开头插入一个元素

lst.push_front("hello");

// 向 map 容器插入一个映射

map_.insert(pair<string, int>("cat", 2));

// 向 set 容器插入一个元素

set_.insert(3.5);

3. 容器删除操作

删除容器中的元素也是一个常见的操作。容器中删除元素的方式如下:


// 删除 vector 容器中最后一个元素

vec.pop_back();

// 删除 list 容器中第一个元素

lst.pop_front();

// 删除 map 容器中键为 key 的元素

map_.erase(key);

// 删除 set 容器中值为 value 的元素

set_.erase(value);

4. 容器遍历操作

容器遍历是使用最广泛的操作之一。C++中的容器可以使用迭代器来遍历容器中的元素。具体写法如下:


// vector 容器的遍历

vector<int> vec;

for (vector<int>::iterator itr = vec.begin(); itr != vec.end(); ++itr) {

  cout << *itr << endl;

}

// list 容器的遍历

list<string> lst;

for (list<string>::iterator itr = lst.begin(); itr != lst.end(); ++itr) {

  cout << *itr << endl;

}

// map 容器的遍历

map<string, int> map_;

for (map<string, int>::iterator itr = map_.begin(); itr != map_.end(); ++itr) " << itr->second << endl;

// set 容器的遍历

set<double> set_;

for (set<double>::iterator itr = set_.begin(); itr != set_.end(); ++itr) {

  cout << *itr << endl;

}

5. 容器查找操作

在使用容器时,我们经常需要查找容器中是否存在某个元素。C++ 中的容器可以用 find() 函数来查找元素。具体实现如下:


// 查找 vector 容器中是否包含元素 10

vector<int> vec;

if (find(vec.begin(), vec.end(), 10) != vec.end())

  cout << "Found!" << endl;

else

  cout << "Not found!" << endl;

// 查找 map 容器中是否包含键为 "cat" 的元素

map<string, int> map_;

if (map_.find("cat") != map_.end())

  cout << "Found!" << endl;

else

  cout << "Not found!" << endl;

// 查找 set 容器中是否包含元素 3.5

set<double> set_;

if (set_.find(3.5) != set_.end())

  cout << "Found!" << endl;

else

  cout << "Not found!" << endl;

通过上述内容,我们可以看到C++中的容器操作非常多样化,可以完成许多不同的任务。当然,使用这些容器需要注意内存管理,防止出现内存泄漏等问题。因此,我们需要学习一些内存管理的基本知识,以确保我们的程序能够正常运行。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复