2016-03-24 4 views
-1

Denken über die Erstellung eines Telefonbuchs aber verwirrt, was STL-Container ist die bessere Wahl. Bitte erläutern Sie den Unterschied zwischen Set und Karte. Welche ist die bessere Wahl in welchem ​​Szenario?Was ist der Unterschied zwischen Set und Karte in C++ (STL)

Zum Beispiel, wenn Namen und Nummern in der Karte gespeichert sind, wenn Namen als Schlüssel gemacht werden, dann kann die Suche nicht mit Zahlen durchgeführt werden und umgekehrt. Welche Container/Datenstruktur würde genau diesem Zweck dienen?

+0

http://stackoverflow.com/questions/21804086/what-is-the-difference-between-stdset-and-stdmap – Steephen

+4

Mögliche Duplikate von [Was ist der Unterschied zwischen Set vs Karte in C++?] (Http: //stackoverflow.com/questions/22088607/what-is-the-difference-between-set-vs-map-in-c) – user222031

Antwort

3

Sehr wenig intern. Sie sind beide rot-schwarze Bäume.

Karte obwohl enthält ein Paar als Werttyp. Die Baumoperationen operieren dann nur mit dem ersten Element in diesem Paar. Die Karte fügt dann zusätzliche Funktionen hinzu, um basierend auf diesem ersten Element zu suchen und nur die zweite abzurufen.

Verwenden Sie die Karte, wenn Sie Schlüssel-> Wertepaare benötigen. Verwenden Sie diese Option, wenn Sie eindeutige Werte als Ganzes verfolgen möchten.

0

Denken Sie an std::set als std::map in denen der Schlüssel auch der Wert ist.

Verwandte Themen