Difference between revisions of "Sorted Dictionary Assignment"

From CSE425S Wiki
Jump to navigation Jump to search
Line 9: Line 9:
 
end</nowiki>
 
end</nowiki>
 
=Code To Use=
 
=Code To Use=
 
+
[[Binary_Tree_Assignment|Binary Tree Studio]]
<nowiki>signature BINARY_TREE = sig
 
val map : ('a -> 'b) -> ('a binary_tree) -> 'b binary_tree
 
val filter : ('a -> bool) -> ('a binary_tree) -> 'a binary_tree
 
val find_lnr : ('a -> bool) -> ('a binary_tree) -> 'a option
 
val find_rnl : ('a -> bool) -> ('a binary_tree) -> 'a option
 
val fold_lnr : (('a * 'b) -> 'b) -> ('b) -> ('a binary_tree) -> 'b
 
val fold_rnl : (('a * 'b) -> 'b) -> ('b) -> ('a binary_tree) -> 'b
 
end</nowiki>
 
  
 
=Code To Implement=
 
=Code To Implement=

Revision as of 19:34, 2 March 2020

signature DICTIONARY = sig
    type (''k,'v) dictionary
    val get : ((''k,'v) dictionary *''k) -> 'v option
    val put : ((''k,'v) dictionary *''k *'v) -> 'v option
    val remove : ((''k,'v) dictionary *''k) -> 'v option
    val entries : (''k,'v) dictionary -> (''k*'v) list
    val keys : (''k,'v) dictionary -> ''k list
    val values : (''k,'v) dictionary -> 'v list
end

Code To Use

Binary Tree Studio

Code To Implement

Sorted Implementation

signature SORTED_DICTIONARY = sig include DICTIONARY
   type ''k compare_function = (''k*''k) -> order
   val create_sorted : ''k compare_function -> (''k,'v) dictionary
end