1. 首页
  2. 信息化
  3. 管理软件
  4. Go语言 channel如何实现归并排序中的merge函数详解

Go语言 channel如何实现归并排序中的merge函数详解

上传者: 2020-09-29 10:43:12上传 PDF文件 64.45KB 热度 27次

联想到 Go 的 channel 似乎能在某种程度上满足我的要求,再加上 Goroutine 这种东西,便想:是不是也能利用利用这两个语言特性。channel 这个数据结构,在 Go 中有比较丰富的含义,但我基本上把它当队列使用。Goroutine 也一样,我基本把它等同于「用户态线程」。由于我只是练手,所以我想到的 API 长这样:给定两个有序的 channel,然后将其合并为一个有序的 channel。于是我的实现如下:语法近乎简陋。不过对我而言并无大碍,反而喜欢。不多讲,几乎已经是俺学习新语言的必要条件了,前期开发效率可能会慢点,但是换来的是更少的 bug,尤其是对团队协作,可以减少很多痛苦。(要是你团队里面都是高手,用 Python 自然是爽歪歪,但是这一条件并不总是满足。

下载地址
用户评论