4- Tablas Hash4.4 Encadenamiento

Implementación del Encadenamiento
constante max = 100 {por ejemplo}
tipos ptNodo = access nodo;
nodo = registro
laClave:clave;
elValor:valor;
sig:ptNodo
freg;
tabla = vector[0..max-1] de ptNodo
algoritmo modifica(t:in out tabla; c:in clave;v:in valor)
variables aux:ptNodo; entrada:0..max-1
principio
entrada:=h(c);
si t[entrada]=nil
entonces
      nuevoDato(t[entrada]);
      aux:=t[entrada];
      aux.laClave:=c;
      aux.elValor:=v;
      aux.sig:=nil
sino
      aux:=t[entrada];
      mientrasQue (aux.laClave.c) and (aux.sig.nil) hacer
        aux:=aux.sig
      fmq;
      si aux.laClave=c
      entonces
        aux.elValor:=v
      sino
        nuevoDato(aux.sig);
        aux:=aux.sig;
        aux.laClave:=c;
        aux.elValor:=v;
        aux.sig:=nil
      fsi
fsi
fin

 
 

 
 
 
 
 
 
 

 



  E.Mayordomo y K. Urzelai 
elvira at posta.unizar.es
karmelo at posta.unizar.es

Fecha de actualización: 4-9-01