Exemplo n.º 1
0
void eliminarNodo(ListaPiso &listaP, PtrNodoPiso ptrNodoP){
  PtrNodoPiso ptrPrevio;

  /* verifica que la lista no esté vacia y que nodo no sea fin*/
  if ((! listaVacia(listaP)) && (ptrNodoP != finP())) {

    if (ptrNodoP == primero(listaP))
      listaP.primeroPiso = siguiente(listaP,primero(listaP));

    else {
      ptrPrevio = anterior( listaP , ptrNodoP );
      ptrPrevio->sgteP = ptrNodoP->sgteP;
    }
    // Si el dato es un TDA, acá habría que llamar al destructor.
    destruir(ptrNodoP->pilUb);
    delete ptrNodoP;
  }
}
Exemplo n.º 2
0
//*******************
void eliminarNodo(ListaArtDeposito &listaArtDep,PtrNodoListaDeposito ptrNodoListaDep){
PtrNodoListaDeposito ptrPrevio;

  /* verifica que la lista no esté vacia y que nodo no sea fin*/
  if ((! listaVacia(listaArtDep)) && (ptrNodoListaDep != finAD())) {

    if (ptrNodoListaDep == primero(listaArtDep))
      listaArtDep.primerArtDeposito = siguiente(listaArtDep,primero(listaArtDep));

    else {
      ptrPrevio = anterior( listaArtDep , ptrNodoListaDep );
      ptrPrevio->sgteAD= ptrNodoListaDep->sgteAD;
    }
    // Si el dato es un TDA, acá habría que llamar al destructor.

    delete ptrNodoListaDep;
  }
}
Exemplo n.º 3
0
//********************
PtrNodoListaDeposito anterior(ListaArtDeposito &listaArtDep,PtrNodoListaDeposito ptrNodoListaDep){
 PtrNodoListaDeposito ptrPrevio = finAD();
  PtrNodoListaDeposito ptrCursor = primero(listaArtDep);

  while (( ptrCursor != finAD()) && (ptrCursor != ptrNodoListaDep)) {
    ptrPrevio = ptrCursor;
    ptrCursor = siguiente(listaArtDep,ptrCursor);
  }
  return ptrPrevio;
}
Exemplo n.º 4
0
void InsertarHash (char *cad,TablaHash t)
{
   int pos;

   if (MiembroHash(cad,t))
      return;

   pos=Hash(cad);
   insertar(cad,primero(t[pos]),t[pos]);
}
Exemplo n.º 5
0
PtrNodoPiso anterior(ListaPiso &listaP, PtrNodoPiso ptrNodoP){
PtrNodoPiso ptrPrevio = finP();
PtrNodoPiso ptrCursor = primero(listaP);

  while (( ptrCursor != finP()) && (ptrCursor != ptrNodoP)) {
    ptrPrevio = ptrCursor;
    ptrCursor = siguiente(listaP,ptrCursor);
  }
  return ptrPrevio;

}
Exemplo n.º 6
0
PtrNodoPiso adicionarAntes(ListaPiso &listaP, PilUb pilUb, PtrNodoPiso ptrNodoP){
  PtrNodoPiso ptrNuevoNodo = finP();

  if (! listaVacia(listaP)) {
    if (ptrNodoP != primero(listaP))
      ptrNuevoNodo = adicionarDespues(listaP,pilUb,anterior(listaP,ptrNodoP));
    else
      ptrNuevoNodo = adicionarPrincipio(listaP,pilUb);
   }
   return ptrNuevoNodo;
}
Exemplo n.º 7
0
void BorrarHash (char *cad,TablaHash t)
{
   tPosicion p;
   int pos=Hash(cad);

   p=primero(t[pos]);
   while (p!=fin(t[pos]) && !strcmp(cad,elemento(p,t[pos])))
      p=siguiente(p,t[pos]));

   if (p!=fin(t[pos]))
      borrar(p,t[pos]);
}
Exemplo n.º 8
0
/*
 * Programa principal
 */
int main(void)
{
    char   *nombre[] = { "Rosa", "María", "Pepe", "Carlos", "Juan", "Antonio", NULL };
    int     i;
    TipoCola      colaPeluqueria;
    TipoElemento *cliente;


    /*  Dar valor a los miembros de la cola  */
    crearVacia(&colaPeluqueria);

    /*  Insertar clientes */
    printf("\n");
    for (i=0; NULL!=nombre[i]; i++) {

        cliente=malloc(sizeof(struct Cliente));
        if (NULL!=cliente) {
            strcpy(cliente->nombre,nombre[i]);
            insertar(&colaPeluqueria,*cliente);
            printf("ha llegado un cliente de nombre %s...\n",
                   nombre[i]);
        }

    }

    /*  Extraer clientes */
    printf("\n");
    cliente=primero(colaPeluqueria);
    while (NULL!=cliente) {

        printf("se sirve al cliente de nombre %s...\n",
               cliente->nombre);
        quitar(&colaPeluqueria);
        cliente=primero(colaPeluqueria);

    }

    return (0);
}
Exemplo n.º 9
0
void guardarEnArchivos(Lista &Candidatos, Lista &Partidos, Lista &Mesa)
{
    FILE *fileCandi, *filePart, *fileMesa;
    PtrNodoLista nodo;

    //Guardo Mesas
    if((fileMesa=fopen("mesas.txt", "w"))!=NULL)
     {
         nodo = primero(Mesa);
         while (nodo != fin())
         {
             fprintf(fileMesa,"%d;%d\n", getIdMesa(*(Mesas*)nodo->ptrDato),getProvinciaMesa(*(Mesas*)nodo->ptrDato) );
             nodo = siguiente(Mesa, nodo);
         }
     } else{puts("El archivo mesas.txt no pudo ser creado");}

     //Guardo Candidatos
    if((fileCandi=fopen("candidatos.txt", "w"))!=NULL)
     {
         nodo = primero(Candidatos);
         while (nodo != fin())
         {
             fprintf(fileCandi,"%d;%s;%d\n", getIdCandidato(*(Candidato*)nodo->ptrDato),getNombreCandidato(*(Candidato*)nodo->ptrDato),getPartidoPolitico(*(Candidato*)nodo->ptrDato) );
             nodo = siguiente(Candidatos, nodo);
         }
     } else{puts("El archivo candidatos.txt no pudo ser creado");}

     //Guardo Partidos
    if((filePart=fopen("partidos.txt", "w"))!=NULL)
     {
         nodo = primero(Partidos);
         while (nodo != fin())
         {
             fprintf(filePart,"%d;%s\n", getIdPartido(*(Partido*)nodo->ptrDato),getNombrePartido(*(Partido*)nodo->ptrDato) );
             nodo = siguiente(Partidos, nodo);
         }
     } else{puts("El archivo partidos.txt no pudo ser creado");}
}
Exemplo n.º 10
0
tPosicion posicion (tElemento x, tLista l)
{
   tPosicion p;
   int encontrado;

   p = primero(l);
   encontrado = 0;
   while ((p->siguiente != NULL) && (!encontrado)) {
	if (p->siguiente->elemento == x)
		encontrado=1;
	else p = p->siguiente;
   }
   return p;
}
Exemplo n.º 11
0
int MiembroHash (char *cad,TablaHash t)
{
   tPosicion p;
   int enc;	
   int pos=Hash(cad);
   
   p=primero(t[pos]);
   enc=0;
   while (p!=fin(t[pos]) && !enc) {
      if (strcmp(cad,elemento(p,t[pos]))==O)
         enc=1;
      else
         p=siguiente(p,t[pos]);
   }

   return enc;
}
Exemplo n.º 12
0
int main(int argc, char* argv[]) {
	if (argc != 3)
		return 1;

	std::string primero(argv[1]);
	std::string segundo(argv[2]);

	size_t pos = std::string::npos;
	int i = 0;
	do {
		pos = primero.find(segundo, pos+1);
		++i;
	} while (pos != std::string::npos && i < OCURRENCIA);
			
	if (pos != std::string::npos)
		primero.erase(pos, segundo.size());

	std::cout << primero << std::endl;

	return 0;
}
Exemplo n.º 13
0
//********************
void eliminarNodoPrimero(ListaArtDeposito &listaArtDep){
if (! listaVacia(listaArtDep))
    eliminarNodo(listaArtDep,primero(listaArtDep));
}
elemento cola :: frente(){
    elemento e=primero();
    return(e);
}
Exemplo n.º 15
0
bool listaVacia(ListaPiso &listaP){
return (primero(listaP) == finP());
}
Exemplo n.º 16
0
//********************
void eliminarLista(ListaArtDeposito &listaArtDep){
 while (! listaVacia(listaArtDep))
    eliminarNodo(listaArtDep,primero(listaArtDep));
}
Exemplo n.º 17
0
void eliminarLista(ListaPiso &listaP){
while (! listaVacia(listaP))
    eliminarNodo(listaP,primero(listaP));
}
Exemplo n.º 18
0
void eliminarNodoPrimero(ListaPiso &listaP){
  if (! listaVacia(listaP))
    eliminarNodo(listaP,primero(listaP));
}
Exemplo n.º 19
0
//********************
bool listaVacia(ListaArtDeposito &listaArtDep){
return (primero(listaArtDep)==finAD());
}