map和struct的多重嵌套
生活随笔
收集整理的這篇文章主要介紹了
map和struct的多重嵌套
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
??強(qiáng)烈推薦人工智能學(xué)習(xí)網(wǎng)站??? ? ? ? ? ? ?
之前聊到了map和struct的單重嵌套,總感覺(jué)不夠刺激,今天來(lái)玩一下多重嵌套。
struct Node1 {int data1;int data2; };struct Node {int key;map<int,Node1> myMap1; };//map中有Node,Node中有myMap1,myMap1中有Node1,則要想myMap中插入元素,必須由里到外賦值或插入 int main() {//向myMap中插入元素map<int,Node> myMap;map<int, Node>::iterator it;map<int, Node1>::iterator it1;int p1 = 4,p=5;Node1 N1 = {1,2};Node N;N.key = 3;N.myMap1.insert(pair<int, Node1>(p1, N1));myMap.insert(pair<int, Node>(p, N));//遍歷myMapfor (it = myMap.begin(); it != myMap.end(); it++){printf("%d\n",it->first);printf("%d\n", it->second.key);for (it1 = it->second.myMap1.begin(); it1 != it->second.myMap1.end(); it1++){printf("%d\n", it1->first);printf("%d\n", it1->second.data1);printf("%d\n", it1->second.data2);}} return 0; }?
打印:5
? ? ? ? ? ? 3
? ? ? ? ? ? 4
? ? ? ? ? ? 1
? ? ? ? ? ? 2
這也是一種機(jī)智的面向過(guò)程的保存數(shù)據(jù)的方法,這里非要用2個(gè)迭代器才能遍歷全部數(shù)據(jù)。
?
總結(jié)
以上是生活随笔為你收集整理的map和struct的多重嵌套的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: shell命令的文本计算
- 下一篇: c_str()和strcasecmp