Was ist der unterschied zwischen nem Vector und einer Map

Hallo,
mag sein, das ich mich jetzt Oute in einem Gebiet nicht aufgepasst zu haben, aber was meinst du mit Maps? Aus welchem Bereich?

Suchst du den Unterschied von Vektoren zu Matirzen?Da wäre nen Mathe-Buch nicht verkehrt.

Gruss Michael
 
Nein ich suche den unterschied zwischen nem Vector und ner Map guck mal in der MSDN.
Hab mir das in der MSDN zwar durchgelesen, aber so die Vor -und Nachteile weiss ich immer noch nicht.
 
Hi.

Also eine Map (oder auch Dictionary genannt) ist ein assoziativer Container. Man kann darin Schlüssel-Werte-Paare speichern. Das heißt ein Eintrag in einer Map besteht aus einem Schlüssel und einem dazugehörigen Wert, wie z.B. bei einem Telefonbuch. Der Schlüssel ist bei einem Telefonbuch der Name (und Adresse), der Wert die dazugehörige Telefonnummer. Eine Map ist (wie ein Telefonbuch auch) nach dem Schlüssel sortiert und es gibt keine doppelten Einträge (siehe dazu die multi_map).

Code:
#include <map>

std::map<string, string> telefonbuch;

telefonbuch["Hans Meier"] = "555 - 6534";
usw.

Ein Vektor ist im Gegensatz dazu ein frei zugreifbarer Container, der einen Integer-Wert von 0 bis zur Größe des Vektors-1 einem Wert zuordnet.

Ein Unterschied besteht auch noch in der Komplexität der einzelnen Operationen. Während z.B. beim Vektor die Zugriffszeit in O(1) geschieht, muß ein Eintrag in einer Map erstmal gesucht werden und deshalb ist der Zugriff etwas langsamer (hängt davon ab welche Datenstruktur zum Speichern der Einträge verwendet wird).
 
Naja, das kommt ganz drauf an für was du den Container benutzen willst in deiner Datenbankanwendung. Hast du Schlüssel-Werte Paare die du speichern mußt oder hast du eher numerierte Elemente aus einem bestimmten Bereich?

Wozu also willst du den Container verwenden?
 
Also es handelt sich um eine Fuhrpark Software und ich muss halt immer abspeichern wenn ein Auto vermietet ist an wen es vermietet ist wie lange es vermietet ist usw. .Und ich weiss halt nicht was besser ist :(
 
Hi,
also mit Datenbanken an sich haben weder Vectoren noch Maps direkt etwas zutun. Die Daten an sich hälst du ja in einem Datenbanksystem wie zB mySQL vor. Wenn du dann auf die Daten zugreifen willst musst du Abfragen auf die Datenbank absetzen. Diese werden dann grundsätzlich zB in einem ResultSet gespeichert von wo aus du sie dann weiterbenutzen kannst.
Um jetzt zB einen ganzen Datensatz zu speichern wie du das beschrieben hast, also wann von wem und wie lange welcher Wagen vermietet wurde, solltest du auf Structures zurückgreifen. Um mehrere Datensätze vorhalten zu können solltest du dann vielleicht verkettete Listen oder auch Vectoren benutzen.
Hoffe ich konnte dir ein paar Anstöße geben. Such mal im Forum nach den entsprechenden Themen, denke da findest du genug Material zu.

Gruß
 
Zurück