Ho due mappe STL std::map<int, int> foo = {{1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {6, 0}};
e std::map<int, int> bar = {{2, 0}, {4, 0}, {5, 0}};
Trova se uno mappa è sottoinsieme di un altro
voglio trovare se bar è un sottoinsieme di foo.
Poiché gli elementi sono ordinati in carta, penserei per trovare il primo elemento da bar di foo, e poi trovare elementi consecutivi da bar in foo da quella posizione.
Il problema qui è che non sono in grado di trovare un modo per farlo con le mappe STL in cpp. Posso ridurre l'intervallo di ricerca nella mappa per ogni risultato da una posizione sulla mappa alla fine della mappa?
Spero di aver spiegato il problema.
Se quelli sono mappe, stai elencando le chiavi? O i tipi di valore? O sono set? –
la tua mappa appare come impostata – taocp
o qualsiasi altra cosa – 4pie0