18 lines · 488 B · Objective-C
RawDownload
Hashtable: module{	PATH: con "/dis/lib/hashtable.dis";	fun1, fun2: fn(s:string,n:int):int; 	HashNode: adt[T]{		key:string;		val:T;  # insert() can update contents	};	HashTable: adt[T]{		a:	array of list of HashNode[T];		find:	fn(h:self ref HashTable, key:string):T;		insert:	fn(h:self ref HashTable, key:string, val:T);		delete:	fn(h:self ref HashTable, key:string);		all:	fn(h:self ref HashTable): list of HashNode[T];	};	new: fn[T](size:int, elem:T):ref HashTable[T];};