golang使用二叉树实现排序
来源:互联网 发布:app inventor小软件 编辑:程序博客网 时间:2024/06/07 06:31
一个命名为S的结构体类型将不能再包含S类型的成员:因为一个聚合的值不能包含它自身。但是S类型的结构体可以包含*S
指针类型的成员,这可以让我们创建递归的数据结构
func main() {fmt.Println(Sort([]int{11,2,5,30,100,10,1,70}))}type tree struct {value intleft,right *tree}func Sort(values []int) []int{var root *treefor _,v := range values {root = add(root,v)}return appendValues(values[:0],root)}func appendValues(values []int, t *tree) []int {if t != nil {values = appendValues(values,t.left)values = append(values,t.value)values = appendValues(values,t.right)}return values}func add(t *tree, value int) *tree{if t == nil {t = new(tree)t.value = valuereturn t}if value < t.value {t.left = add(t.left,value)}else {t.right = add(t.right,value)}return t}
ps:代码摘至《Go语言圣经》
阅读全文
0 0
- golang使用二叉树实现排序
- 使用Golang实现的快速排序
- golang实现快速排序
- 排序算法 golang 实现
- Golang实现快速排序
- golang 实现冒泡排序
- golang 实现选择排序
- golang实现冒泡排序
- 使用二叉树排序
- Golang二叉查找树
- Golang以OO的方式实现二叉查找树
- Golang以OO的方式实现二叉查找树
- 二叉树之实现排序二叉树
- golang版本快速排序实现
- Golang实现七大排序(1)
- Golang实现七大排序(2)
- 排序二叉树C#实现
- 排序二叉树的实现
- Sublime Text Html插件
- php用户注册对密码进行MD5加密
- 条件,循环和其他语句
- php实现用户注册密码的crypt加密
- JAVA学习(1)
- golang使用二叉树实现排序
- 实现一个 Swiper
- 字体问题记录
- SylixOS网络数据异步处理原理
- eclipse中使用自带git的常用操作
- 隐藏PHP文件名的操作
- php常见的语法错误
- android属性动画
- RDD转化为DataFrames的两种创建方式