ホームページ >バックエンド開発 >C++ >C++ STL コンテナから要素を削除するにはどうすればよいですか?

C++ STL コンテナから要素を削除するにはどうすればよいですか?

WBOY
WBOYオリジナル
2024-06-02 11:29:57267ブラウズ

C++ STL では、次の方法でさまざまなコンテナから要素を削除できます: ベクトルから削除: イテレータまたはインデックスを使用します。リストから削除: イテレータを使用します。セットから削除するには: 削除する要素を値とする Erase() メソッドを使用します。マップから削除: 削除する要素のキー値を指定して Erase() メソッドを使用します。

如何从C++ STL容器中删除元素?

C++ STL コンテナから要素を削除する方法

C++ 標準テンプレート ライブラリ (STL) には、データの整理に使用できるコンテナがいくつかあります。これらのコンテナは、要素の削除などのさまざまな操作をサポートします。この記事では、さまざまな種類の STL コンテナから要素を削除するさまざまな方法について説明します。

ベクトルから要素を削除する

ベクトルから要素を削除するには、次のいずれかの方法を使用できます:

// 使用迭代器
vector<int> vec;
vec.push_back(10);
vec.push_back(20);
vec.erase(vec.begin() + 1); // 删除 vec[1]

// 使用索引
vec.erase(vec.begin(), vec.begin() + 1); // 删除 vec[0]

リストから要素を削除する

リストから要素を削除するには、次のメソッドを使用できます:

list<int> lst;
lst.push_back(10);
lst.push_back(20);
lst.erase(lst.begin()); // 删除第一个元素

セットから要素を削除する

セットから要素を削除するには、次のメソッドを使用できます:

set<int> st;
st.insert(10);
st.insert(20);
st.erase(10); // 删除值为 10 的元素

マップから要素を削除する

マップから要素を削除するには、次の方法を使用してください:

map<int, string> mp;
mp.insert(pair<int, string>(10, "Hello"));
mp.insert(pair<int, string>(20, "World"));
mp.erase(10); // 删除具有 key 为 10 的元素

実際のケース:

学術コースでの生徒の成績を追跡するアプリを考えてみましょう。このアプリケーションは STL コンテナを使用して生徒とその成績を保存します。次の例は、コンテナから学生とその成績記録を削除する方法を示しています:

map<string, int> student_成績;
student_成績.insert(pair<string, int>("John", 90));
student_成績.insert(pair<string, int>("Mary", 80));

// 从映射中删除 John 的记录
student_成績.erase("John");

上記の方法を使用すると、さまざまな STL コンテナから要素を簡単かつ効率的に削除できます。

以上がC++ STL コンテナから要素を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。