Beispiel #1
0
        /**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++) ;
        }
Beispiel #2
0
        /**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();
                }
            }
        }