Ich möchte ein Wörterbuch-Programm machen und mein Wörterbuch wird mit Paaren implementiert. Ich möchte in meinem Array nach einem Begriff suchen und eine Beschreibung all dies mit der STL-Funktion zurückgeben. Ich habe dies:STL-Paare und binäre Suche
#include<iostream>
#include<fstream>
#include<algorithm>
#include<string.h>
using namespace std;
bool compare(pair<string,string>a,pair<string,string>b) {
return a.first<b.first;
}
int main() {
pair<string,string> a[100]=pair<string,string>();
int dimension=0;
ifstream f("dictionar.in");
string name,description;
while(f>>name) {
getline(f,description);
a[dimension]=make_pair(name,description);
dimension++;
}
for(int i=0;i<dimension;i++)
cout<<a[i].first<<" "<<a[i].second<<endl;
sort(a,a+dimension,compare);
cout<<endl;
for(int i=0;i<dimension;i++)
cout<<a[i].first<<" "<<a[i].second<<endl;
string searchelem;
cin>>searchelem;
}
Ich will ‚search‘ verwenden, um herauszufinden, ob in dem Paar Array es ein Element gleich mit search ist und wenn es den Index zurück. Welche Funktion sollte ich verwenden?
Verwenden Sie 'std :: map'. Es wurde für die Verwendung in Wörterbüchern entwickelt. Die 'std :: map' verwendet auch' std :: pair'. –
Um Himmels willen, benutze 'typedef' – Slava
@Slava Um $ DEITY willen benutze' using';) –