Heim  >  Artikel  >  Backend-Entwicklung  >  Wie entferne ich Elemente aus dem C++-STL-Container?

Wie entferne ich Elemente aus dem C++-STL-Container?

WBOY
WBOYOriginal
2024-06-02 11:29:57253Durchsuche

In C++ STL können Sie die folgenden Methoden verwenden, um Elemente aus verschiedenen Containern zu entfernen: Aus Vektor entfernen: Iterator oder Index verwenden. Aus Liste entfernen: Iterator verwenden. So entfernen Sie es aus einer Menge: Verwenden Sie die Methode erase(), deren Wert das zu entfernende Element ist. Aus der Karte löschen: Verwenden Sie die Methode erase() mit dem Schlüsselwert des zu löschenden Elements.

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

So entfernen Sie Elemente aus C++-STL-Containern

In der C++-Standardvorlagenbibliothek (STL) stehen mehrere Container zum Organisieren von Daten zur Verfügung. Diese Container unterstützen verschiedene Vorgänge, einschließlich des Löschens von Elementen. In diesem Artikel werden verschiedene Methoden zum Entfernen von Elementen aus verschiedenen Arten von STL-Containern beschrieben.

Ein Element aus einem Vektor entfernen

Um ein Element aus einem Vektor zu entfernen, können Sie eine der folgenden Methoden verwenden:

// 使用迭代器
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]

Ein Element aus einer Liste entfernen

Um ein Element aus einer Liste zu entfernen, Sie können die folgenden Methoden verwenden:

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

Elemente aus der Menge löschen

Um Elemente aus der Menge zu löschen, können Sie die folgende Methode verwenden:

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

Elemente aus der Karte entfernen

Um Elemente aus der Karte zu löschen, können Sie Verwenden Sie die folgenden Methoden:

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

Praktischer Fall:

Stellen Sie sich eine App vor, die die Leistung von Studierenden in akademischen Kursen verfolgt. Die Anwendung verwendet STL-Container zum Speichern von Schülern und ihren Noten. Das folgende Beispiel zeigt, wie man Schüler und ihre Notendatensätze aus einem Container löscht:

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

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

Mit der oben genannten Methode können Elemente aus verschiedenen STL-Containern einfach und effizient gelöscht werden.

Das obige ist der detaillierte Inhalt vonWie entferne ich Elemente aus dem C++-STL-Container?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn