本文整理汇总了C++中Lista::CrearIt方法的典型用法代码示例。如果您正苦于以下问题:C++ Lista::CrearIt方法的具体用法?C++ Lista::CrearIt怎么用?C++ Lista::CrearIt使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Lista
的用法示例。
在下文中一共展示了Lista::CrearIt方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: HayInterseccionDeCaminos
bool Red::HayInterseccionDeCaminos(const Lista<Compu>& camino1,const Lista<Compu>& camino2) const {
bool hay = false;
Lista<Compu>::const_Iterador it1 = camino1.CrearIt();
Lista<Compu>::const_Iterador it2 = camino2.CrearIt();
while( it1.HaySiguiente() && !hay ) {
while( it2.HaySiguiente() && !hay ) {
hay = (it1.Siguiente() == it2.Siguiente());
it2.Avanzar();
}
it1.Avanzar();
}
return hay;
}
示例2: Borrar
void BaseDeDatos::Borrar(Registro_tp3 cr, string t) {
assert(_nombreATabla.def(t));
Tabla& tabla = _nombreATabla.obtener(t);
class Lista<struct tupString<Dato> >::const_Iterador criterio = cr.vistaDicc();
//std::cout << "Criterio: " << criterio.Siguiente().clave << " / " << criterio.Siguiente().significado << std::endl;
//std::cout << "TABLA:" << tabla << std::endl;
Lista<Registro_tp3> borrados = tabla.buscar(criterio.Siguiente().clave, criterio.Siguiente().significado);
tabla.borrarRegistro(cr);
Tabla tabMax = _nombreATabla.obtener(*_tablaMasAccedida);
if (tabla.cantidadDeAccesos() > tabMax.cantidadDeAccesos()) {
delete _tablaMasAccedida;
_tablaMasAccedida = new string(t);
}
class Lista<struct tupString<tupBdd > >::const_Iterador iter = _hayJoin.obtener(t).vistaDicc();
while (iter.HaySiguiente()) {
Lista<Registro_tp3>::const_Iterador itBorrados = borrados.CrearIt();
while (itBorrados.HaySiguiente()){
tupInterna tup;
tup.reg = itBorrados.Siguiente();
tup.agregar = false;
//MOD
_hayJoin.obtener(t).obtener(iter.Siguiente().clave).cambiosT1.AgregarAtras(tup);
//iter.Siguiente().significado.cambiosT1.AgregarAdelante(tup);
itBorrados.Avanzar();
}
iter.Avanzar();
}
Conj<string>::Iterador iterTablas =_tablas.CrearIt();
while (iterTablas.HaySiguiente()) {
if (_hayJoin.obtener(iterTablas.Siguiente()).def(t)) {
Lista<Registro_tp3>::const_Iterador itBorrados = borrados.CrearIt();
while (itBorrados.HaySiguiente()) {
tupBdd& cambios = _hayJoin.obtener(iterTablas.Siguiente()).obtener(t);
tupInterna tup;
tup.reg = itBorrados.Siguiente();
tup.agregar = false;
cambios.cambiosT2.AgregarAtras(tup);
itBorrados.Avanzar();
}
}
iterTablas.Avanzar();
}
}
示例3: Esta
//otras operaciones privadas
bool Red::Esta (const Lista<Compu>& compus, const Compu& c) const {
bool pertence = false;
Lista<Compu>::const_Iterador it = compus.CrearIt();
while(it.HaySiguiente() && !pertence) {
pertence = ( it.Siguiente() == c );
it.Avanzar();
}
return pertence;
}
示例4: IesimoNodoRecorridoPor
const Computadora Driver::IesimoNodoRecorridoPor(const Paquete& p, const Nat i) const{
assert(i<CantidadNodosRecorridosPor(p));
Lista<Compu> recorrido = this->dcnet->CaminoRecorrido(p);
Lista<Compu>::Iterador it = recorrido.CrearIt();
Nat j = i;
while(j-- > 0) {
it.Avanzar();
}
return it.Siguiente().Ip();
}
示例5: assert
Conj<Registro_tp3> BaseDeDatos::busquedaCriterio(Registro_tp3 crit, string t) const {
assert( _nombreATabla.def(t) );
Tabla & tabla = _nombreATabla.obtener(t);
bool termine = false;
Conj<Registro_tp3> res;
class Lista<struct tupString<Dato> >::const_Iterador itCrit = crit.vistaDicc();
while (itCrit.HaySiguiente() && !termine) {
string campoCrit = itCrit.Siguiente().clave;
if (! tabla.campos().Pertenece(campoCrit) ) {
termine = true;
}
itCrit.Avanzar();
}
Conj<string> indices = tabla.indices();
Conj<string>::Iterador itIndices = indices.CrearIt();
while (itIndices.HaySiguiente() && !termine) {
if (crit.def(itIndices.Siguiente())) {
string campoIndice = itIndices.Siguiente();
Dato valorCampo = crit.obtener(campoIndice);
Lista<Registro_tp3> coincis = tabla.buscar(campoIndice, valorCampo);
Lista<Registro_tp3>::const_Iterador itCoincis = coincis.CrearIt();
while (itCoincis.HaySiguiente()) {
if (coincidenTodosCrit(crit, itCoincis.Siguiente())) {
Dato det = itCoincis.Siguiente().obtener(campoIndice);
res.AgregarRapido(itCoincis.Siguiente());
}
itCoincis.Avanzar();
}
termine = true;
}
itIndices.Avanzar();
}
if (!termine) {
Conj<Registro_tp3>::const_Iterador itRegs = tabla.registros().CrearIt();
while (itRegs.HaySiguiente()) {
if (coincidenTodosCrit(crit, itRegs.Siguiente())){
res.AgregarRapido(itRegs.Siguiente());
}
itRegs.Avanzar();
}
}
return res;
}
示例6:
LinkLinkIt::itPunLinks::itPunLinks(Lista<DatosLink*> &ldl, Fecha& f){
_itLista = ldl.CrearIt();
_fecha = f;
}