/**Escribe una tabla hash*/ public void EscribeTablaHash(CHash tabla) { bw.BaseStream.Seek(tabla.getDir(), SeekOrigin.Begin); bw.Write(tabla.getDir()); bw.Write(tabla.getTamaño()); bw.Write(tabla.getNumCubetas()); for (int i = 0; i < tabla.getTamaño(); bw.Write(tabla.getAtDirCubeta(i)), i++) ; }
/**Lee la tabla hash estatica*/ public CHash LeerTablaHash(long dir) { CHash tablaH = new CHash(); br.BaseStream.Seek(dir, SeekOrigin.Begin); tablaH.setDir(br.ReadInt64()); tablaH.setTamaño(br.ReadInt32()); tablaH.setNumCubetas(br.ReadInt32()); tablaH.creaVectorCubetas(tablaH.getTamaño()); for (int i = 0; i < tablaH.getTamaño(); tablaH.setAtDirCubeta(i, br.ReadInt64()), i++) ; return (tablaH); }
private void ImprimeTablaHash(long dir) { if (dir != -1) { tablaHashStatic = getArchivo().LeerTablaHash(dir); for (int nC = 1, i = 0; i < tablaHashStatic.getTamaño(); i++, nC++) { tablaHash.Rows.Add(); tablaHash.Rows[i].HeaderCell.Value = nC.ToString(); tablaHash.Rows[i].Cells[0].Value = tablaHashStatic.getAtDirCubeta(i).ToString(); } } }