Hier ist die Situation:Wie man eine Karte mit Worten als Schlüssel in C füllen ++
Ich nehme Stachel als Eingabe verwendet diese:
string s;
getline (cin , s);
Jetzt möchte ich eine Karte von Typ füllen <string, int>
. Der Schlüssel dieser Map sind einzelne Wörter der Eingabezeichenfolge. Der Wert speichert die Häufigkeit des Wortes.
Beispiel: Eingabezeichenfolge - "Hallo mein Name ist OP Hallo Welt"
Karte sollte wie:
Hallo - 2
My - 1
- 1
ist - 1
OP - 1
World - 1
Das Verfahren, das ich weiß, ist unter Verwendung von String manipution Zeichenfolge in ein Array von getrennten Wörter zu unterteilen.
Gibt es eine andere effiziente Möglichkeit, eine Zeichenfolge in ein Array von Wörtern aufzuteilen und die Karte mit einem Wort als Schlüssel zu füllen?
den Eingangs Unter der Annahme Raum begrenzt, gerade gelesen, jedes Wort einen nach dem anderen, und fügen Sie die Karte. Wenn dies nicht das ist, was Sie brauchen, könnten Sie vielleicht Ihre Frage klären. –
* Die Frage, wie Sie es geschrieben haben, ist unklar. * Wenn Sie 'std :: string' als Schlüssel verwenden, was speichert' int'? Wie oft wird dieses Wort angezeigt? Die Reihenfolge, in der das Wort zuerst erscheint? Sie müssen mehr Informationen bereitstellen. – Xirema
Änderungen vorgenommen, wie von allen vorgeschlagen –