コード例 #1
0
ファイル: red.cpp プロジェクト: manucosta/algo2-tp3
void Red::Conectar(Compu c1, Compu c2, InterfazN i1, InterfazN i2){
	DiccString<InterfazN>* x;
	x = vecinos.obtener(c1);
	x->definir(c2,i1);
	DiccString<InterfazN>* y;
	y = vecinos.obtener(c2);
	y->definir(c1,i2);
}
コード例 #2
0
 int main(int argc, char const *argv[])
 {
	 	DiccString<string,int> a;
	 	string wea="ar";
	 	string qlo="ab";
	 	string fome="a";
		
		a.definir(fome,200);
	 	a.definir(wea,12);
		cout<<(a.obtener(wea))<<endl;
		cout<<(a.obtener(fome))<<endl;
		a.obtener(fome) = 13;
		cout<<(a.obtener(fome))<<endl;
		cout<<(a.definido(wea))<<endl;
		a.borrar(wea);
		cout<<(a.definido(wea))<<endl;

	 	//cout<<*(a.estr->caracteres[97]->caracteres[114]->significado)<<endl;


		//string wea="abcda";
		//int x=wea[0];
	 	
	 	/*cout<<(a.obtener(wea))<<endl;
	 	cout<<a.definido(wea)<<endl;
	 	//a.definir(qlo,950);
	 	cout<<a.definido(qlo)<<endl;
	 	//a.borrar(wea);
	 	cout<<a.definido(fome)<<endl;
	 	cout<<(a.obtener(fome))<<endl;
	 	cout<<(a.obtener(wea))<<endl;*/
	 	//cout<<(a.obtener(qlo))<<endl;

	 	//cout<<(a.obtener(wea))<<endl;




	 	//cout<<*(a.estr->caracteres[97]->significado)<<endl;

	 	//cout<<(a.obtener(wea));
	 	//cout<<"este cout groso da: "<<*(a.estr->caracteres[97]->significado)<<endl;

	 	//cout<<a.definido("b")<<endl;
		
 	return 0;
 }
コード例 #3
0
ファイル: red.cpp プロジェクト: julifgo/tp3
	void Red::ActualizarCaminosMasCortos(const Compu& pc1, const Compu& pc2) {
		Conj<Lista<Compu> >& aux = CaminosQueTerminanConPcx(this->caminos, pc2);
		Conj<Lista<Compu> >& caminosRes = CaminosQueEmpiezanConPcx(aux, pc1);
 		Conj<Lista<Compu> > caminosAAgregar;

		Conj<Lista<Compu> >::Iterador itConjCamino = caminosRes.CrearIt();

		if(itConjCamino.HaySiguiente()) {

			Nat cantidadDeComputadorasEnCaminoMinimo = itConjCamino.Siguiente().Longitud();
			while(itConjCamino.HaySiguiente()) {
				if(cantidadDeComputadorasEnCaminoMinimo > itConjCamino.Siguiente().Longitud()) {
					cantidadDeComputadorasEnCaminoMinimo = itConjCamino.Siguiente().Longitud();
				}
				itConjCamino.Avanzar();
			}

			while(itConjCamino.HayAnterior()) {
				if(cantidadDeComputadorasEnCaminoMinimo == itConjCamino.Anterior().Longitud()) {
					caminosAAgregar.AgregarRapido(itConjCamino.Anterior());
				}
				itConjCamino.Retroceder();
			}
			
			if(this->caminosMasCortos.definido(pc1.Ip())){
				this->caminosMasCortos.obtener(pc1.Ip())->definir(pc2.Ip(), caminosAAgregar);
			}
			else{
				DiccString<Conj<Lista<Compu> > > hasta;	
				hasta.definir( pc2.Ip(), caminosAAgregar );
				this->caminosMasCortos.definir( pc1.Ip(), hasta );
			}
		}
		
		delete &caminosRes;
		delete &aux;
	}