削除データをマッピング
1 // 削除データ 2 // 1 = 1 DELETEキーワードキー 。3 mp.erase(1 ); 。4 // 2は、イテレータによって削除 。5 地図< int型、文字列 > :: = mp.findイテレータITER(2 ) ; 6 mp.erase(ITER); 7 // 3回の取り外し2回の反復子尖った範囲【)左右の開区間を閉じる。 8。 地図< 整数、文字列 > :: = mp.find Iteraイテレータ(6。 ) 。9 = mp.find ITER(4 ); 10 mp.erase(ITER、Itera); 11 // 4つすべて削除します。 12 mp.erase(mp.begin()、mp.end())。 13 mp.clear()。
テストコード:
1の#include <ビット/ STDC ++ H> 2 使用して 名前空間STDを、 3 空隙を表示(マップ< 整数、文字列 >&MP) 4 { 5 地図< 整数、文字列 > ::イテレータITER = mp.begin()。 6 一方(ITER =!mp.end()) 7 { 8 COUT << iter->第<< " " << iter->第<< ENDL。 9 ITER ++ ; 10 } 11 COUT << ENDL。 13は、 INT ()は、メイン 14 { 15 // 構成マップ 16 の地図< 整数、文字列 > MP; 17 18である mp.insert({ 0、" 地図0 " }); // 使用} { 19。 mp.insert({ 1、" マップ1。" }); // 使用} { 20は mp.insert({ 2、" 地図2 " }); // 使用は} { 21は mp.insert({ 3、"3マップ" }); // 使用} { 22で mp.insert({ 4。 、" マップ4。" }); // 使用} { 23は mp.insert({ 。5、" 地図5 " }); // 利用{ } 24 mp.insert({ 6。 、" マップ6。" }); // 使用は} { 25 mp.insert({ 7。 、" 地図7。" }); // 使用は} { 26は mp.insert({ 8、" マップ8" }); // 利用{} 27 28 // 削除データ 29 // 1キー削除し 30 mp.erase(1 )、 31は ショー(MP); // 出力マップ 32 33れる // 2イテレータによって削除 34は 地図< 整数、文字列 > :: = mp.findイテレータITER(2 ); 35 mp.erase(ITER); 36 表示(MP); // 出力マップ 37 38である // 3回の取り外し2回の反復子尖った。範囲[、)左と右のオープン閉断面 39 地図< int型、文字列> :: = mp.find Iteraイテレータ(6。); 40 ITER = mp.find(4。 )、 41は mp.erase(ITER、Itera); 42は、 ショー(MP); // 出力マップ 43は 44れる // 4削除全。 45 mp.erase(mp.begin()、mp.end()); 46であり ; mp.clear() 47 を表示する(MP); // 出力マップ 48 49 リターン 0 ; 50 }
結果:
1つの 0地図0 2 2地図2 3 3地図3 4 4マップ4 5 5地図5 6 6地図6 7 7地図7 8 8地図8 9 10 0地図0 11 3マップ3 12 4地図4 13 5地図5 14 6地図6 15 7マップ7 16 8マップ8 17 18 0地図0 19 3マップ3 20 6地図6 21 7地図7 22 8地図8