1. 程式人生 > 其它 >c++map容器插入和刪除

c++map容器插入和刪除

函式原型:
insert(elem); //在容器中插入元素。
clear(); //清除所有元素
erase(pos); //刪除pos迭代器所指的元素,返回下一個元素的迭代器。
erase(beg, end); //刪除區間[beg,end)的所有元素 ,返回下一個元素的迭代器。
erase(key); //刪除容器中值為key的元素。

插入刪除和set一樣,迭代器型別也和set一樣,都是雙向迭代器,因此也沒有[]和+=的操作,也沒有固定位置插入,因為會自動排序,在任何位置插入都是相同的

  map<int,int> m1;//插入資料的4種方式
  m1.insert(pair<int,int>(1,10));   m1.insert(make_pair(5,50));//好處就是可以省去模板引數,如果引數不對,會自動報錯   m1.insert(map<int,int>::value_type(6,60));   m1[7] = 70;//直接輸入數值   cout << m1[5] <<endl;   cout << m1[8] <<endl;//中括號有個問題,如果沒有這個key的實際數,他會自動的建立一個值為0的實際數   //所以map中[]不建議插入資料,但是可以方便進行訪問,如果能夠確定key存在,就很方便的進行訪問
  printmap(m1);   m1.erase(5);//注意,這裡刪掉的是key的數,不是value的數   printmap(m1);   m1.erase(70);//如果試圖刪掉value的數,那實際上是沒用的   printmap(m1); 50
0
10 50 60 70 0
10 60 70 0
10 60 70 0