QMap 的增删改查

map 是一种数据容器,它提供一种由key 到 value 的映射。
map 的key 是唯一的, 也是有序的。map 通常由近似平衡的红黑树来实现。
key 的有序性,使得插入,查找节点比较有效。map 的操作(增删改查),通常就是
对节点的操作(增删改查)。当然,map 也有创建(new)和销毁(delete)操作。

QMap 是Qt 实现的一种map, 与c++ stl map 使用方法一致。

QMap 的增删改查,

程序简单,就直接上代码了,附上运行结果。

[cpp] view plain copy

  1. #include <QDebug>
  2. void showmap(QString str);
  3. QMap<int, int> map;
  4. int main(int argc, char *argv[])
  5. {
  6. (void) argc;
  7. (void)argv;
  8. QMap<int, int>::iterator it;
  9. //增加
  10. map.insert(1, 100);
  11. map.insert(2, 200);
  12. map.insert(3, 300);
  13. map.insert(4, 400);
  14. map.insert(5, 500);
  15. map.insert(6, 600);
  16. showmap("orig");
  17. //QMap的Key会自动按升序排列
  18. //删除
  19. it=map.begin()+1;
  20. map.erase(it);
  21. showmap("delete 2");
  22. //修改
  23. map[5]=1000;
  24. showmap("change 5");
  25. //查询
  26. it = map.find(7);
  27. if( it != map.end())
  28. {
  29. //你可以在这里删除
  30. qDebug() << "find " << it.key() <<"\t" << it.value();
  31. }
  32. //it 删除安全吗?
  33. for(it=map.begin();it!=map.end();it++)
  34. {
  35. if((it.key() % 2) ==0) map.erase(it);
  36. }
  37. showmap("safe erase even key");
  38. return 0;
  39. }
  40. void showmap(QString str)
  41. {
  42. qDebug()<<QString("------ %1 --------").arg(str);
  43. QMap<int, int>::iterator it;
  44. for( it=map.begin(); it!=map.end(); it++)
  45. qDebug() << it.key() <<"\t" << it.value();
  46. }

./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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hejinjing_tom_com/article/details/48103455

原文地址:https://www.cnblogs.com/findumars/p/8905458.html

时间: 2024-11-14 12:02:14

QMap 的增删改查的相关文章

Python 模拟SQL对文件进行增删改查

1 #!/usr/bin/env python 2 # _*_ coding:UTF-8 _*_ 3 # __auth__: Dalhhin 4 # Python 3.5.2,Pycharm 2016.3.2 5 # 2017/05/15 6 7 import sys,os 8 9 def where(dbfile,where_list): #条件是一个list 10 11 def and_or_where(sub_where_list): 12 '''获取and或同时含有and.or关键字的条

【黑马Android】(04)数据库的创建和sql语句增删改查/LinearLayout展示列表数据/ListView的使用和BaseAdater/内容提供者创建

数据库的创建和sql语句增删改查 1. 加载驱动. 2. 连接数据库. 3. 操作数据库. 创建表: create table person( _id integer primary key, name varchar(20), age integer ); 添加: insert into person(name, age) values('lisi', 19); 删除: delete from person where _id = 1; 修改: update person set name =

ssm框架搭建+easyui增删改查实现

闲来无事,看了看别人的博客文档也跟着敲了敲,特地记录下来,方便以后学习: spring版本:4.0.6 mybatis版本:3.2.5 所有jar包打包下载:http://pan.baidu.com/s/1qLEaU 1.项目目录结构 其中,controller包下存放控制层文件,dao下存放各个model类相关的数据库操作接口,entity下放置各种model类,mappers下放置各个dao对应的映射文件,service服务层就不说了,放置各种service接口,impl是其具体实现类. 2

【Android】Sqlite数据库增删改查

Android系统内置一个Sqlite数据库,如果app需要使用Sqlite数据库数据库存储数据,Android会为此app生成一个.db文件.这个数据库在data/data/<package_name>/databases里面,其中<package_name>为该安卓app的工程包名,这个目录必须root后才能看到.在Windows,单机的应用程序,存储数据,基本放到一个文件里面,正如游戏的存档,基本就是把当前的游戏状态存到一个用户很难找到的文件里面.每次存档读档就是一个从这个存

夺命雷公狗---Thinkphp----12之文章的增删改查(图片上传和关联查询)

我们由于表分析的不够完善,所以我们来加多一个tid的字段,到时候主要目的是为了更好的遍历出文章是属于那个分类下的,表如下所示: 那么下一步我们就开始创建一个ArticleController.class.php的控制器,用来管理文章的增删改查操作,所以我们开始第一步来实现文章的添加,我们先来实现他的增加功能: public function add(){ if(IS_POST){ $data['title'] = I('title'); $data['tid'] = I('tid'); $dat

MyBatis增删改查模板

1. 首先,和Spring整合一下 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springfra

用基本数据结构修改后的学生信息管理系统(增删改查)

package com.xt.student.system; //创建学生类存放信息 public class Student {//声明变量private String stuNo; private String stuName; private String gender; private int age; private int score; //对变量进行封装 public String getStuNo() {return stuNo;} public void setStuNo(St

第二周作业__增删改查

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption

zookeeper基本命令,增删改查

zookeeper被广泛的使用,由于项目中用到了dubbo框架,所以今天也来简单分享一下zookeeper的简单命令,来查询服务和节点信息,不说了,直接来增删改查命令. -h命令: [zk: localhost:2189(CONNECTED) 35] h ZooKeeper -server host:port cmd args addauth scheme auth close config [-c] [-w] [-s] connect host:port create [-s] [-e] [-