C++程序初始化字典

c++程序初始化字典

C++在同名的字典方面与Python不同,但它具有相似功能的相同数据结构。C++支持映射,可在STL类std::map中使用。映射对象在每个条目中包含一对值,一个是键值,另一个是映射值。键值用于在映射中搜索和唯一标识条目。而映射值不一定是唯一的,键值在映射中必须始终是唯一的。让我们看一下如何使用映射。

首先,让我们看看如何在C++中定义一个映射数据结构。

语法

#include map  myMap;

登录后复制

让我们举个例子,看看如何做到这一点−

示例

#include #include using namespace std;int main() {   //initialising the map   map  myMap;   //inserting two key-value pairs   myMap.insert({1, "Hello"});   myMap.insert({2, "World"});   //displaying the key-value pairs   for (auto itr = myMap.begin(); itr != myMap.end(); ++itr) {      cout first second 

输出

1 Hello2 World

登录后复制

在C++中,可以以不同的方式初始化地图(Maps)。其算法很简单。

立即学习“C++免费学习笔记(深入)”;

算法

创建地图对象。

在声明对象时为其赋值。

使用初始化列表初始化地图

使用初始化列表初始化一个映射(map)与在C++中初始化一个数组是相同的。我们只需要在声明映射时分配键值对,用大括号括起来,格式为{key, value}。语法如下所示。

语法

#include map  myMap = {{key1, value1}, {key2, value2}};

登录后复制

示例

#include #include using namespace std;int main() {   //initialising the map   map  myMap = {{1, "One"}, {2, "Two"}, {3, "Three"}};   //displaying the key-value pairs   for (auto itr = myMap.begin(); itr != myMap.end(); ++itr) {      cout first second 

输出

1 One2 Two3 Three

登录后复制

使用赋值运算符初始化映射

这类似于将值分配给数组中的特定索引。我们没有提及索引,而是将键值放在映射下标中,就像在数组中一样。

语法

#include map  myMap;myMap[key1] = value1;

登录后复制

示例

#include #include using namespace std;int main() {   //declaring the map   map  myMap;   myMap[1] = "One";   myMap[2] = "Two";   myMap[3] = "Three";   //displaying the key-value pairs   for (auto itr = myMap.begin(); itr != myMap.end(); ++itr) {      cout first second 

输出

1 One2 Two3 Three

登录后复制

从另一个地图初始化一个地图

可能需要将一个地图复制到另一个地图中,因此我们可以从另一个地图初始化一个地图。我们通过在声明时将地图对象传递给地图的复制构造函数来利用地图类的复制构造函数。

语法

#include map  myMap1(myMap2);

登录后复制

示例

#include #include using namespace std;int main() {   //declaring the map   map  myMap;   myMap[1] = "One";   myMap[2] = "Two";   myMap[3] = "Three";   //copying using copy constructor   map  myMap2(myMap);   //displaying the key-value pairs   for (auto itr = myMap2.begin(); itr != myMap2.end(); ++itr) {      cout first second 

输出

1 One2 Two3 Three

登录后复制

结论

C++中的Map是一个有序集合,即Map中的元素按照键值排序。与其他类似的数据结构(例如键值对未排序的无序映射)相比,这使其速度更慢。映射中的所有操作都具有对数复杂度,并且在内存中都以红黑树的形式实现。然而,在实践中,映射非常有用,因为它提供了以键值方式存储数据的极大灵活性。我们已经讨论了初始化地图的所有主要方法;虽然初始化的方法比较多,但这些是最直观的操作方式。

以上就是C++程序初始化字典的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2582679.html

(0)
上一篇 2025年3月6日 14:22:31
下一篇 2025年2月23日 02:19:02

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • C语言中的圣诞树程序

    在这里,我们将看到一个有趣的问题。在这个问题中,我们将看到如何随机打印圣诞树。因此,树会像圣诞树灯一样闪烁。 为了打印圣诞树,我们将打印各种大小的金字塔,一个接一个地放置。对于装饰叶子,将从给定的字符列表中随机打印一个字符。高度和随机性是可…

    2025年3月6日
    200
  • C语言编写的汉诺塔程序

    汉诺塔是一个数学难题。它由三根杆和若干个不同大小的圆盘组成,这些圆盘可以滑动到任意一根杆上。难题以圆盘按大小升序整齐堆叠在一根杆上开始,最小的圆盘在顶部。我们必须将相同的堆叠移到第三根杆上。 难题的目标是将整个堆叠移动到另一根杆上,遵守以下…

    2025年3月6日
    200
  • 在C/C++中初始化多维数组

    在多维数组中,数组的维数应该大于1。下图展示了一个维数为3 x 3 x 3的多维数组的内存分配策略。 这是一个用C++编写的初始化多维数组的程序。 算法 Begin   Initialize the elements of a multid…

    2025年3月6日
    200
  • 从1到N逆序打印质数

    输入数字n,直到计算素数并以倒序显示 Input : number 30Output : 29 23 19 17 13 11 7 5 3 2 登录后复制 算法 STARTStep 1 -> declare variables as n…

    2025年3月6日
    200
  • 编写一个程序来打印二项式展开系列

    二项展开式是一个数学公式,用于展开 (a+b)^n 形式的表达式,其中 n 是正整数,a 和 b 可以是任何实数或复数。展开式给出了展开式中各项的系数。 一个二项式展开可以表示为 $$mathrm{(a+b)^n= ^nC_0a^nb^0+…

    2025年3月6日
    200
  • 用C/C++编写一个程序,当硬币排列成一个三角形时,求出最大高度

    在这个部分,我们将看到一个有趣的问题。有n个硬币。我们必须找出如果我们将硬币排列成金字塔形状,我们能够达到的最大高度是多少。按照这种方式,第一行将放置1个硬币,第二行将放置2个硬币,依此类推。 在给定的图表中,我们可以看到要构建高度为3的金…

    2025年3月6日
    200
  • 计算三棱柱的表面积的程序

    让我们看看如何编写程序来计算三棱柱的表面积。 计算三棱柱的表面积似乎非常基本,但程序员可能在很多领域都需要它。下面列出了一些常见场景 – 3D 图形和动画 – 在构建 3D 模型时,动画师和游戏开发人员可能需要计算三…

    2025年3月6日
    200
  • 如何通过C++编写一个简单的地址簿程序?

    如何通过C++编写一个简单的地址簿程序? 引言: 在现代社会中,地址簿是一种常见的工具,用于存储和管理个人联系人的基本信息,如姓名、电话号码和地址等。在本文中,我们将详细介绍如何使用C++编写一个简单的地址簿程序。 正文: 立即学习“C++…

    2025年3月6日
    200
  • C程序的起始点是什么?

    C语言程序的执行起点在哪里? C语言作为一种高级编程语言,被广泛应用于各种领域,成为程序员的必备技能之一。在编写C语言程序时,我们需要明确程序的执行起点,也就是程序从哪里开始执行。那么,C语言程序的执行起点究竟在哪里呢?本文将带您深入了解C…

    2025年3月6日
    200
  • 使用C语言编写的计算最大公约数的程序

    C语言是一种常用的编程语言,广泛应用于软件开发和算法实现。在数学中,最大公约数是指能够整除给定的几个数的最大正整数。在本文中,我们将使用C语言编写一个求最大公约数的程序,并提供具体的代码示例。 题目:C语言编写的求最大公约数的程序 最大公约…

    2025年3月6日
    200

发表回复

登录后才能评论