QMap 的增删改查
map 是一种数据容器,它提供一种由key 到 value 的映射。
map 的key 是唯一的, 也是有序的。map 通常由近似平衡的红黑树来实现。
key 的有序性,使得插入,查找节点比较有效。map 的操作(增删改查),通常就是
对节点的操作(增删改查)。当然,map 也有创建(new)和销毁(delete)操作。
QMap 是Qt 实现的一种map, 与c++ stl map 使用方法一致。
QMap 的增删改查,
程序简单,就直接上代码了,附上运行结果。
- #include <QDebug>
- void showmap(QString str);
- QMap<int, int> map;
- int main(int argc, char *argv[])
- {
- (void) argc;
- (void)argv;
- QMap<int, int>::iterator it;
- //增加
- map.insert(1, 100);
- map.insert(2, 200);
- map.insert(3, 300);
- map.insert(4, 400);
- map.insert(5, 500);
- map.insert(6, 600);
- showmap("orig");
- //QMap的Key会自动按升序排列
- //删除
- it=map.begin()+1;
- map.erase(it);
- showmap("delete 2");
- //修改
- map[5]=1000;
- showmap("change 5");
- //查询
- it = map.find(7);
- if( it != map.end())
- {
- //你可以在这里删除
- qDebug() << "find " << it.key() <<"\t" << it.value();
- }
- //it 删除安全吗?
- for(it=map.begin();it!=map.end();it++)
- {
- if((it.key() % 2) ==0) map.erase(it);
- }
- showmap("safe erase even key");
- return 0;
- }
- void showmap(QString str)
- {
- qDebug()<<QString("------ %1 --------").arg(str);
- QMap<int, int>::iterator it;
- for( it=map.begin(); it!=map.end(); it++)
- qDebug() << it.key() <<"\t" << it.value();
- }
./test2
"------ orig --------"
1 100
2 200
3 300
4 400
5 500
6 600
"------ delete 2 --------"
1 100
3 300
4 400
5 500
6 600
"------ change 5 --------"
1 100
3 300
4 400
5 1000
6 600
"------ safe erase even key --------"
1 100
3 300
5 1000
QMap 的增删改查的更多相关文章
- Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示
Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...
- ASP.NET从零开始学习EF的增删改查
ASP.NET从零开始学习EF的增删改查 最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(9)-MVC与EasyUI结合增删改查
系列目录 文章于2016-12-17日重写 在第八讲中,我们已经做到了怎么样分页.这一讲主要讲增删改查.第六讲的代码已经给出,里面包含了增删改,大家可以下载下来看下. 这讲主要是,制作漂亮的工具栏,虽 ...
- 通过Java代码实现对数据库的数据进行操作:增删改查
在写代码之前,依然是引用mysql数据库的jar包文件:右键项目-构建路径-设置构建路径-库-添加外部JAR 在数据库中我们已经建立好一个表xs :分别有xuehao xingming xue ...
- Hibernate全套增删改查+分页
1.创建一个web工程 2.导入jar包 3.创建Student表 4.创建实体类 package com.entity; public class Student { private Integer ...
- 使用 Json.Net 对Json文本进行 增删改查
JSON 已经成为当前主流交互格式, 如何在C#中使用 Json.Net 对Json文本进行 增删改查呢?见如下代码 #region Create (从零创建) public static strin ...
- yii2 增删改查
自己总结的yii2 advanced 版本的简单的增删改查,希望对大家有所帮助 1.gii生成的actionCreate()方法中 获取插入语句的id $id = $model->attribu ...
- Batis-iBatis基本操作(增删改查)
Batis-iBatis基本操作(增删改查) 时间 2014-04-10 17:55:20 CSDN博客 原文 http://blog.csdn.net/mazhaojuan/article/de ...
- JS组件系列——又一款MVVM组件:Vue(一:30分钟搞定前端增删改查)
前言:关于Vue框架,好几个月之前就听说过,了解一项新技术之后,总是处于观望状态,一直在犹豫要不要系统学习下.正好最近有点空,就去官网了解了下,看上去还不错的一个组件,就抽空研究了下.最近园子里vue ...
随机推荐
- chfn---改变finger命令显示的信息
chfn命令 chfn命令用来改变finger命令显示的信息.这些信息都存放在/etc目录里的passwd文件里.若不指定任何选项,则chfn命令会进入问答式界面. 语法 chfn(选项)(参数) ...
- 18/9/21模拟赛-Updated
18/9/21模拟赛 期望得分:100:实际得分:0 qwq 拿到题目第一眼,我去,这不是洛谷原题(仓鼠找Sugar)吗 又多看了几眼,嗯,对,除了是有多组数据外,就是原题 然后码码码....自以为 ...
- Tomcat之虚拟主机配置以及web应用配置
Tomcat之虚拟主机配置以及web应用配置 Tomcat文件夹结构例如以下: bin ---- 启动和关闭须要的bat文件所在的文件夹 conf --- 配置文件夹 lib --- tomcat执 ...
- screen-Orientation 横竖屏设置
1.xml中设置,这个主要是在AndroidManifest.xml 中查找activity,然后在里面设置属性,如下 <application android:label="@str ...
- 39.mutex 的lock_guard与unique_lock
#include <iostream> #include <thread> #include <mutex> using namespace std; #defin ...
- MyEclipse 2016 安装/破解
MyEclipse2016 C1 已经出现了!感觉好像不错的样子! 不多说了,开整... 好熟悉的界面,点击Next! 如上图标注1所示,请修改安装目录! 根据自己的喜好可以选择不同的版本,也可以安装 ...
- THC=TERMINAL HANDLING CHARGE,碼頭操作費
THC=TERMINAL HANDLING CHARGE,碼頭操作費
- Codefroces 832B Petya and Exam
B. Petya and Exam time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...
- 去掉“此电脑”中的“WPS云文档”图标
平台:Win10 问题:安装了WPS2019专业版后,此电脑窗口出现了一个WPS云文档图标,无法删除,云文档设置中也无法取消. 解决:打开注册表,定位到HKEY_CURRENT_USER\Softwa ...
- Stack switching mechanism in a computer system
A method and mechanism for performing an unconditional stack switch in a processor. A processor incl ...