Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对C++地图执行编号列表时使用int或index

对C++地图执行编号列表时使用int或index
EN

Stack Overflow用户
提问于 2020-12-11 02:57:36
回答 1查看 59关注 0票数 0

我正在尝试使用map为每个学生安排我的输出,这是根据姓名和ic号码生成的密码。我希望输出以编号列表的形式排列。在我在线搜索之后,我发现可以使用index或int来完成。我正在上的这门课是关于数据结构的,它很大程度上倾向于程序的效率。我已经设法得到了我想要的输出,但我想问一下,哪种方法更有效或更好。如果你不明白我在说什么,很抱歉,我的解释技巧非常糟糕。如果有任何可以改进的地方,请让我知道。TQVM。

通过int:

代码语言:javascript
运行
AI代码解释
复制
 void displayStudent(map<string, string>& studentMap) {
    map<string, string>::iterator displayStudentAndPassword = studentMap.begin();
    int i = 1;
    for (displayStudentAndPassword = studentMap.begin(); displayStudentAndPassword != studentMap.end(); displayStudentAndPassword++) {
        cout << i << ". " << displayStudentAndPassword->first << ":- " << displayStudentAndPassword->second << endl;
        cout << endl;
        i++;
    }
}

按索引:

代码语言:javascript
运行
AI代码解释
复制
void displayStudent(map<string, string>& studentMap) {
    map<string, string>::iterator displayStudentAndPassword = studentMap.begin();
    int index = 1;
    for (displayStudentAndPassword = studentMap.begin(); displayStudentAndPassword != studentMap.end(); displayStudentAndPassword++) {
        cout << index << ". " << displayStudentAndPassword->first << ":- " << displayStudentAndPassword->second << endl;
        cout << endl;
        index++;
    }
}

输出图像

EN

回答 1

Stack Overflow用户

发布于 2020-12-11 03:25:00

据我所知,这两个解决方案是相同的。唯一的区别是您为跟踪索引号而对变量进行了不同的命名。您在一个"index“中将其命名为"i”,而在另一个“index”中将其命名为“i”。在这种情况下,您没有将其用作索引。您只是在对输出进行编号。通过使用地图,没有索引号。相反,您有一个键,它是std::map。

贴图非常适合于从一个对象快速映射到另一个对象。在这种情况下,从一个字符串到另一个字符串。大概这样你就可以从一个学生的名字映射到他们存储的密码。但是,如果您在其他地方的代码不需要这个,那么我建议使用矢量而不是映射。因为它基本上是由索引引用的对象数组。当然,包含在向量中的对象必须是一个类或结构,以保存名称和密码这两个值。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65245192

复制
相关文章
如何使用 C 或 C++ 获取目录中的文件列表
如何使用 C 或 C++ 获取目录中的文件列表?我的程序不允许使用 ls 这样的命令。
ClearSeve
2022/02/10
8.5K0
容器共享GPU时查看容器使用的GPU编号
对于单机多卡的 GPU 服务器,在做容器的 GPU 分配的时候,可以选择通过环境变量 NVIDIA_VISIBLE_DEVICES来指定 GPU 的索引或者 UUID。 因为在容器中看到的 GPU 索引都是从0开始的,如果想找到对应母机上的 GPU 卡,通过 UUID 又不太好确定。
runzhliu
2020/08/06
1.9K0
容器共享GPU时查看容器使用的GPU编号
如何使用DorkScout对全网或特定目标自动执行Google Dork安全扫描
DorkScout是一款功能强大的Google Dork安全扫描工具,在该工具的帮助下,广大研究人员可以轻松地对整个互联网范围内的Google Dork容器或特定目标执行自动化安全扫描。
FB客服
2021/12/08
1.3K0
如何使用DorkScout对全网或特定目标自动执行Google Dork安全扫描
或对,或错?
公号许久没更文了,这段时间以来,自己在面临着一些抉择。未曾想过,毕业后一个月考虑的事情比大学四年加起来的还要多。也许是大学过得太安逸了,欠的债全部攒到毕业后来还。
Python技术与生活认知的分享
2018/09/30
4710
或对,或错?
c++ int、long long 转string int转wstring
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/146501.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/28
3K0
C++ int string 转换
2009-09-18 15:37 1.   int sprintf( char *buffer, const char *format [, argument] ... );      <stdio.h> 例如: Cpp代码 int ss;   char temp[64];   string str;   ss = 1000;   sprintf(temp, "%d", ss);   string s(temp);   //调用string的方法   cout<<s.c_str()<<endl;//10
用户1258909
2018/07/03
1K0
Excel公式技巧01: 使用INDEX函数返回整行或整列
在Excel中,INDEX函数是我们经常使用的函数之一,可以返回一个值,然而,如果将其行参数或者列参数指定为0(或者忽略),那么会返回对指定列或行的引用。注意,这里返回的不是单个值,而是一组值。
fanjy
2020/02/18
22.7K0
Linux 启动时如何自动执行命令或脚本?
我们假定使用的是 Bash 作为登录及注销的主 Shell。如果你使用的是其他 Shell,那么有些方法可能会无效。如果有其他的疑问,请参考对应的 Shell 文档。
用户4988085
2021/07/20
3.9K0
群晖NAS运行或更新软件时连接的网站列表
下表列出了DSM服务及其各自的网站: DSM/套件安装和更新 DSM 6.2及之前版本的网站 /域 DSM 7.0及以上版本的网站 /域 快速入门安装页面 www.synology.com/company/term_packagecenter.php - DSM更新下载站点 global.download.synology.com update.synology.com autoupdate.synology.com autoupdate.synology.cn(仅适用于中国) global.downloa
cnlixs
2022/11/01
1.9K0
C++ CString转int int转CString「建议收藏」
1.CString 转 int CString strtemp = “100”; int intResult; intResult= atoi(strtemp); —————————————————————– 2 int 转 CString CString strtemp; int i = 2334; strtemp.Format(“%d”,i);
全栈程序员站长
2022/07/22
1.9K0
mapboxGL列表和地图联动
列表和地图联动是webgis中一个非常常见的功能,本文讲一下在mapboxGL中结合vue如何实现此功能。
牛老师讲GIS
2021/09/10
6770
使用 C 或 C++ 扩展 Python
如果你会用 C,添加新的 Python 内置模块会很简单。以下两件不能用 Python 直接做的事,可以通过 extension modules 来实现:实现新的内置对象类型;调用 C 的库函数和系统调用。
tunsuy
2022/10/27
1.2K0
Go-Excelize API源码阅读(十)—— SetActiveSheet(index int)
开源摘星计划(WeOpen Star) 是由腾源会 2022 年推出的全新项目,旨在为开源人提供成长激励,为开源项目提供成长支持,助力开发者更好地了解开源,更快地跨越鸿沟,参与到开源的具体贡献与实践中。
Regan Yue
2022/09/20
3490
C++中vector「vector「int」 」
1、定义vector<vector<int>> A;//错误的定义方式vector<vector<int> > A;//正缺的定义方式2、插入元素若想定义A = [[0,1,2],[3,4,5]],则://正确的插入方式vector<vector<int> > A;//A.push_back里必须是vectorvector<int> B;B.push_back(0);B.push_back(1);B.push_back(2);A.push_back(B);B.clear();B.push_back(3);B
狼啸风云
2020/07/15
1.4K0
Android列表组件ListView使用详解之动态加载或修改列表数据
在使用ListView组件来显示列表数据时,有的时候我们需要改变列表中的数据,有以下方法:
PHP开发工程师
2021/06/09
1.3K0
c++ int,unsigned int混合表达式类型转换
int和unsigned int的混合表达式,计算时会将int转换为unsigned int。普通情况下会将范围小的隐式转换为范围大的,但对于int和unsigned int,就说不准哪个范围大了,经测试是会将int转换为unsigned int
狼啸风云
2020/07/27
1.1K0
java LinkedList ArrayList 随机访问效率 list.get(int index)
理论上来说,肯定LinkedList比ArrayList随机访问效率要低,然后LinkedList比ArrayList插入删除元素要快。 突然想起之前写一个日记本程序,是用LinkedList+Map索引,作为数据库。Map记录了LinkedList中每一个日记的index和日期之间的对应关系。从Map中获取到某个日期对应日记的index,然后再去LinkedList,get(index)。 Integer a = 1; LinkedList list = new Linke
用户1258909
2018/07/03
9460
int a; int* a; int** a; int (*a)[]; int (*a)(int)
a) int a;表示一个内存空间,这个空间用来存放一个整数(int); b) int* a;表示一个内存空间,这个空间用来存放一个指针,这个指针指向一个存放整数的空间,即a)中提到的空间; c) int** a;表示一个内存空间,这个空间用来存放一个指针,这个指针指向一个存放指针的空间,并且指向的这个空间中的指针,指向一个整数。也简单的说,指向了一个b)中提到的空间; d) int (*a)[4];表示一个内存空间,这个空间用来存放一个指针,这个指针指向一个长度为4、类型为int的数组;和int** a的区别在于,++、+=1之后的结果不一样,其他用法基本相同。 以上四种类型见上图表示。 e) int (*a)(int);表示一个内存空间,这个空间用来存放一个指针,这个指针指向一个函数,这个函数有一个类型为int的参数,并且函数的返回类型也是int。
Twcat_tree
2022/11/30
2.4K0
int a; int* a; int** a; int (*a)[]; int (*a)(int)
点击加载更多

相似问题

对列表'int‘元素执行算法

40

将Int64index转换为列表或访问列表

18

在java语言中如何对矩阵使用fill(int[] a,int from_Index,int to_Index,int val)?

23

对列表C++执行递归

12

C/C++使用int或unsigned int

551
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档