首页 > 编程语言 >C++常用容器

C++常用容器

时间:2024-08-22 18:51:30浏览次数:7  
标签:std 容器 常用 cout 示例 C++ include

目录

一、引言

二、顺序容器概览

   1.vector —— 动态数组

   2.deque —— 双端队列

   3.list —— 双向链表

三、关联容器探秘

   1.set —— 集合

   2.map —— 映射

四、总结


        在探讨C++容器的丰富世界时,我们将深入分析几种核心容器,并探讨它们在实际编程中的应用。以下是一篇关于C++常用容器的详细解析文章。

一、引言

        在C++编程中,容器是管理数据的核心工具。它们提供了灵活的数据组织方式,使得程序员能够高效地处理各种数据操作。本文将带你深入了解C++标准库中的几种常用容器,并探讨它们的使用场景和最佳实践。

二、顺序容器概览

        顺序容器以其元素的线性排列而著称,以下是几种常见的顺序容器及其特点:

   1.vector —— 动态数组

        vector容器以其高效的随机访问能力和简单的接口而受到广泛使用。它适用于那些需要频繁访问元素,但插入和删除操作不频繁的场景。

示例代码:

#include <vector>
#include <iostream>

int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5};
    for (const auto& val : vec) {
        std::cout << val << " ";
    }
    return 0;
}

   2.deque —— 双端队列

        deque容器允许在两端快速插入和删除元素,适合于需要从两端进行元素操作的场景。

示例代码:

#include <deque>
#include <iostream>

int main() {
    std::deque<int> deq = {1, 2, 3, 4, 5};
    deq.push_front(0);
    deq.push_back(6);
    for (const auto& val : deq) {
        std::cout << val << " ";
    }
    return 0;
}

   3.list —— 双向链表

        list容器提供了高效的插入和删除操作,尤其适用于频繁进行此类操作的场景。

示例代码:

#include <list>
#include <iostream>

int main() {
    std::list<int> lst = {1, 2, 3, 4, 5};
    lst.push_front(0);
    lst.push_back(6);
    for (const auto& val : lst) {
        std::cout << val << " ";
    }
    return 0;
}

三、关联容器探秘

        关联容器以其元素的有序性而闻名,以下是两种常见的关联容器:

   1.set —— 集合

        set容器自动维护元素的有序性,且不允许重复元素。它基于红黑树实现,适用于需要快速查找且元素唯一性的场景。

示例代码:

#include <set>
#include <iostream>

int main() {
    std::set<int> s = {3, 1, 4, 1, 5};
    for (const auto& val : s) {
        std::cout << val << " ";
    }
    return 0;
}

   2.map —— 映射

        map容器存储键值对,键值唯一且自动排序。它同样基于红黑树实现,适用于需要根据键快速查找值的场景。

示例代码:

#include <map>
#include <iostream>

int main() {
    std::map<std::string, int> m = {{"apple", 1}, {"banana", 2}};
    m["orange"] = 3;
    for (const auto& pair : m) {
        std::cout << pair.first << " : " << pair.second << std::endl;
    }
    return 0;
}

四、总结

        C++的容器库为程序员提供了强大的数据管理工具。通过了解每种容器的特性,我们可以更好地选择合适的容器来优化程序的性能。在实际编程中,应根据具体需求灵活运用这些容器,以达到最佳的数据处理效果。

标签:std,容器,常用,cout,示例,C++,include
From: https://blog.csdn.net/2201_75782847/article/details/141435472

相关文章

  • 南京理工大学C++程序设计基础期末考试上机测试题组3答案详细解析
    角谷步数(100分)任意的正整数,比如5,我们从它开始,如下规则计算:如果是偶数,则除以2,如果是奇数,则乘以3再加1。如此循环,最终必会得到“1”!比如5的处理过程是:5168421一个正整数经过多少步才能变成1,称为角谷步数。对于5而言,步数也是5;对于1,步数为0。输入一个整数n(1<n<300)......
  • pve(‌Proxmox Virtual Environment)-GPT4回答的关于CT容器的一些问题
    文章目录前言一、pve中的ct虚拟机是干嘛用的?**CT(容器)与VM(虚拟机)的区别****在PVE中使用CT的优点**二、怎么使用呢,比如我要启动一个nginx容器?1.**创建一个LXC容器**2.**启动并进入容器**3.**在容器中安装Nginx**4.**访问Nginx**5.**管理容器**三、创建一......
  • C++小程序:1.0 混合运算小程序(原创)
    自编小程序,还有一些困惑,不太稳定,欢迎私信或评论,提供建议、bug和不足之处。代码:#include<bits/stdc++.h>#include<windows.h>#include<ctime>usingnamespacestd;voidclean();stringnandu();voidxunhuan();voidshuju();longlonga,b,c,cishu,xuanze,cf_a,cf_......
  • Visual C++ 下载安装教程(微软常用运行库合集|dll报错必装)
    前言MicrosoftVisualC++Redistributable(简称MSVC,VB/VC,系统运行库)是Windows操作系统应用程序的基础类型库组件。此版VisualC++运行库组件合集(微软常用运行库合集)由国内封装爱好者@Dreamcast打包而成,整合VisualC++组件安装包运行库所有版本,提供图形安装界面,可自选更新VC++版......
  • [C++]括号使用小技巧
    1.前言  对于一般的赋值语法,例如inta=0;  但你知道吗?使用括号可以同时写很多类型,编译器一般默认括号内最后一个类型为赋值类型,例如//编译器会选择最后一位进行赋值inta=(100,200,300,0);  此时,a的值就是0。2.改变函数返回值  有如下三个函数,返回值类型分别......
  • C++ SPFA算法解析
    前言将了解C++求最短路中SPFA的算法SPFASPFA的一些说明SPFA:适用于权值有负值,且没有负圈的图的单源最短路径,论文中的复杂度O(kE),k为每个节点进入Queue的次数,且k一般<=2,但此处的复杂度证明是有问题的,其实SPFA的最坏情况应该是O(VE).!引例:输入格式给出一个有向图,请输出从......
  • 外贸人常用的收款方式优缺点分析
    在全球化贸易的浪潮中,外贸人面临的一个关键问题便是如何安全、高效地进行跨国收款。随着支付方式的多样化,选择合适的收款途径变得尤为重要。本文将对几种常见的收款方式进行分析,并介绍PasstoPay这一新兴的第三方支付服务。1.电汇(T/T)电汇,即TelegraphicTransfer,分为前T/T和......
  • C++ 中几种类型转换
    C++中常用的类型除了隐式转换,还有显示转换,如:static_cast,dynamic_cast,const_cast,reinterpret_cast。其中隐式转换如常见的double、int、bool、float等类型之间的转换。显示转换的用法具体如下:一、static_cast:静态转换使用条件:(1)用于不同类型之间的转换,相当于隐式转换......
  • MySql中常用的sql语句大全(工作常用篇)
    1.DDL1.1操作数据库--创建库createdatabase库名;--创建库时判断库是否存在,不存在则创建createdatabaseifnoexists库名;--查看所有数据库showdatabases;--使用指定数据库use库名;--查看当前指定数据库包含的数据表showtables;--查看数据库的结......
  • Linux常用命令
    首先登陆linux系统,输入账号xxxx回车,再输入密码:xxxxLinux常用命令如下:[root@localhost~]# cd ..  --- 返回上一级目录[root@localhost/]#ls     ---查看目录信息(有很多目录)[root@localhost/]#cd-  --返回上次所在的目录  [root@localhost/]#cdhom......