日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

QMap 的增删改查

發布時間:2023/12/4 综合教程 38 生活家
生活随笔 收集整理的這篇文章主要介紹了 QMap 的增删改查 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

map 是一種數據容器,它提供一種由key 到 value 的映射。
map 的key 是唯一的, 也是有序的。map 通常由近似平衡的紅黑樹來實現。
key 的有序性,使得插入,查找節點比較有效。map 的操作(增刪改查),通常就是
對節點的操作(增刪改查)。當然,map 也有創建(new)和銷毀(delete)操作。

QMap 是Qt 實現的一種map, 與c++ stl map 使用方法一致。

QMap 的增刪改查,

程序簡單,就直接上代碼了,附上運行結果。

[cpp]view plaincopy

#include<QDebug>

voidshowmap(QStringstr);
QMap<int,int>map;
intmain(intargc,char*argv[])
{
(void)argc;
(void)argv;
QMap<int,int>::iteratorit;
//增加
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("delete2");
//修改
map[5]=1000;
showmap("change5");
//查詢
it=map.find(7);
if(it!=map.end())
{
//你可以在這里刪除
qDebug()<<"find"<<it.key()<<" "<<it.value();
}
//it刪除安全嗎?
for(it=map.begin();it!=map.end();it++)
{
if((it.key()%2)==0)map.erase(it);
}
showmap("safeeraseevenkey");
return0;
}

voidshowmap(QStringstr)
{
qDebug()<<QString("------%1--------").arg(str);
QMap<int,int>::iteratorit;
for(it=map.begin();it!=map.end();it++)
qDebug()<<it.key()<<" "<<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

版權聲明:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/hejinjing_tom_com/article/details/48103455

總結

以上是生活随笔為你收集整理的QMap 的增删改查的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。