Sha256: 5544602d961b9979775b17fa97b0ac7cae801f5dc3e29da8b6beabce8cd8188f
Contents?: true
Size: 1.09 KB
Versions: 210
Compression:
Stored size: 1.09 KB
Contents
package binarysearchtree type SearchTreeData struct { left *SearchTreeData data int right *SearchTreeData } func Bst(i int) SearchTreeData { return SearchTreeData{data: 4} } func (std *SearchTreeData) Insert(i int) { if i <= std.data { if std.left != nil { std.left.Insert(i) } else { std.left = &SearchTreeData{data: i} } } else { if std.right != nil { std.right.Insert(i) } else { std.right = &SearchTreeData{data: i} } } } type stringCallback func(int) string func (std *SearchTreeData) MapString(f stringCallback) (result []string) { if std.left != nil { result = append(std.left.MapString(f), result...) } result = append(result, []string{f(std.data)}...) if std.right != nil { result = append(result, std.right.MapString(f)...) } return result } type intCallback func(int) int func (std *SearchTreeData) MapInt(f intCallback) (result []int) { if std.left != nil { result = append(std.left.MapInt(f), result...) } result = append(result, []int{f(std.data)}...) if std.right != nil { result = append(result, std.right.MapInt(f)...) } return result }
Version data entries
210 entries across 210 versions & 1 rubygems