include string>

Anuncio
#include
#include
#include
#include
#include
#include
<stdio.h>
<map>
<list>
<string>
<set>
<algorithm>
using namespace std;
main()
{
map<string,list<string> > indice;
indice["arbol"].push_back("doc1");
indice["arbol"].push_back("doc2");
indice["auto"].push_back("doc3");
indice["casa"].push_back("doc1");
indice["casa"].push_back("doc3");
indice["ciudad"].push_back("doc3");
indice["pueblo"].push_back("doc1");
indice["pueblo"].push_back("doc2");
printf("Consulta: documentos que contengan casa y auto \n");
// calculo de la solucion
set<string> lista_casa;
lista_casa.insert( indice["casa"].begin(),
indice["casa"].end() );
set<string> lista_auto;
lista_auto.insert( indice["auto"].begin(),
indice["auto"].end() );
set<string> resultado;
insert_iterator< set<string, less<string> > >
iter(resultado,resultado.begin());
set_intersection(lista_casa.begin(),lista_casa.end(),
lista_auto.begin(),lista_auto.end(),
iter );
for( set<string>::iterator it= resultado.begin();
it != resultado.end(); it++ )
{
printf("doc: %s \n", it->c_str() );
}
}
Descargar