Tabla Hash Resolucion de Colisiones C++

En esta ocasión voy a publicar un programa en C++ con el tema de Tabla de Hash resolviendo las colisiones de datos, el código ha sigo probado en VisualStudio y Codeblocks o cualquier compilador G++, si tienes alguna duda no dudes en postearlo, un saludo.

#include <iostream>
#include <string>

using namespace std;

struct DatosPersonales
{
int Edad;
char * Nombre;
};

//Devuelve el valor numérico de hash en base al tamaño de la tabla de hash
int ValorTabla(char *textoHash, int tamanioTabla)
{
int valorHash=1;

for (int j = 1; j < sizeof(textoHash); j++)
{
valorHash += (int) textoHash[j];
}

return(valorHash % tamanioTabla);
}

int main()
{
int tamanioTablaHs=1000; //tamaño de la tabla de Hash
//TABLA DE HASH
DatosPersonales * tablaHashEj = new DatosPersonales[tamanioTablaHs];
DatosPersonales DatosPersonalesOperacion;
int HashValorPos=1;
char Nombre[20];
int Edad;
cout << «=======DATOS PERSONALES=========»;
for(int i=1; i<=5; i++)
{
cout << «\nNombre: «;
cin >> Nombre;
DatosPersonalesOperacion.Nombre = Nombre;
cout << «Edad: «;
cin >> Edad;
DatosPersonalesOperacion.Edad = Edad;
HashValorPos += ValorTabla(DatosPersonalesOperacion.Nombre, tamanioTablaHs);
tablaHashEj[HashValorPos+i] = DatosPersonalesOperacion;
cout << «Guardado en la posicion En: «<< HashValorPos << «\n»;
}
cin.get();cin.get();
return 0;
}

Esta entrada ha sido publicada en Diversidad y etiquetada como . Guarda el enlace permanente.

1 respuesta a Tabla Hash Resolucion de Colisiones C++

  1. que te importa dijo:

    el ejemplo esta malo aunque sea da un ejemplo que si funcione para ver como funciona este metodo, mejor no lo hagas ya que confundiras a los demas. mediocre

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.