コード例 #1
0
ファイル: tad12.cpp プロジェクト: GonzMG/practicas-ped
int
main(void)
{
  TPoro p(1, 1, 1, (char*)"rojo"), q(2, 2, 2, (char*)"verde"), r(3, 3, 3, (char*)"amarillo");
  TListaPoro a;
  TListaPosicion pos;

  a.Insertar(p); a.Insertar(q); a.Insertar(r);

  pos = a.Ultima();

  while(!pos.EsVacia())
  {
    cout << a.Obtener(pos) << endl;
    pos = pos.Anterior();
  }
}
コード例 #2
0
ファイル: tlistaporo.cpp プロジェクト: Alx01/arboles-de-isa
bool 
TListaPoro::Insertar(const TPoro& p)
{
	bool insertado=false;
	bool yata=Buscar(p);
	TPoro aux=p;
	TListaPosicion n;
	TListaNodo nuevo;
	nuevo.e=p;
	n.pos=primero;

	while (!n.EsVacia() && !insertado && !yata)
	{
		if (n.pos->e.Volumen()>aux.Volumen())
		{
			insertado=true;
		}
		else 
		{
			n.pos=n.pos->siguiente;	
		}
	}
	if (EsVacia())
	{
		ultimo=primero=new TListaNodo(nuevo);
	}
	else if(insertado && !yata)
	{
		TListaPosicion aux;
		aux.pos=n.pos->anterior;
	
		n.pos->anterior=new TListaNodo(nuevo);
		n.pos->anterior->anterior=aux.pos;
		aux.pos->siguiente=n.pos->anterior;
	}
	else if(!yata && aux.Volumen()>ultimo->e.Volumen())
	{
		ultimo->siguiente=new TListaNodo(nuevo);
		ultimo->siguiente->anterior=ultimo;
		ultimo=ultimo->siguiente;
	}
	return insertado;	
}