DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   Pascal and Delphi (http://www.daniweb.com/forums/forum124.html)
-   -   Hash tables in pascal (http://www.daniweb.com/forums/thread60034.html)

mynameisrich Oct 31st, 2006 10:24 am
Hash tables in pascal
 
Hi, i have an assignment that involves me making a hash table which stores strings. I am struggling to find a good example of a hash table anywhere and would be greatful if someone could give me an idea of the basic code or even pseudocode for it.

ineed to
initialise the table
display the table
search it
and insert to it

my data type is
type HTable = array [0 .. tableSize-1] of integer;
firstly- should it say string instead of integer?

my initialise procedure basically runs through the array assigning giving each item the value 0
procedure initialise(var h: HTable);
var i:integer;
begin
i:=0 ;
for i := 0 to tableSize-1 do
h[i]:= 0 ;
end;
is this correct and again should i be assigning everything a blank char ' ' ?

My display procedure is similar but it write to the screen
procedure display (h: HTable; filename: string);
var i:integer;
begin
i:=0  ;
for i := 0 to tableSize-1 do
begin
WriteLn ('#',i,': ',h[i]) ;
End;
end;
this is how i have started and my program compiles but when i choose to display the list nothing at all happens, i have done something terribly wrong here?

thansk alot

Daunti Nov 2nd, 2006 12:53 pm
Re: Hash tables in pascal
 
Quote:

Originally Posted by mynameisrich (Post 270297)
Hi, i have an assignment that involves me making a hash table which stores strings. I am struggling to find a good example of a hash table anywhere and would be greatful if someone could give me an idea of the basic code or even pseudocode for it.

ineed to
initialise the table
display the table
search it
and insert to it

my data type is
type HTable = array [0 .. tableSize-1] of integer;
firstly- should it say string instead of integer?

my initialise procedure basically runs through the array assigning giving each item the value 0
procedure initialise(var h: HTable);
var i:integer;
begin
i:=0 ;
for i := 0 to tableSize-1 do
h[i]:= 0 ;
end;
is this correct and again should i be assigning everything a blank char ' ' ?

My display procedure is similar but it write to the screen
procedure display (h: HTable; filename: string);
var i:integer;
begin
i:=0  ;
for i := 0 to tableSize-1 do
begin
WriteLn ('#',i,': ',h[i]) ;
End;
end;
this is how i have started and my program compiles but when i choose to display the list nothing at all happens, i have done something terribly wrong here?

thansk alot

If you will go here www.sparknotes.com/cs/searching/hashtables/section1.html
you will find an excelent explanation of what you are trying to do with good examples of how. If you need further help with your code after you read it, post back.
Good Luck,
Daunti


All times are GMT -4. The time now is 9:40 am.

Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC