求救,数据结构线性表例题使用go语言解决

yinshidaoshi · · 846 次点击
我没看到例子中有表明需要排序的事情。可以采取 map 的方式来进行并集操作。 ``` res := make(map[int]bool, 0) for _, v := range LA { res[v] = true } for _, v := range LB { if _, ok := res[v]; !ok { res[v] = true } } ``` 这样,res 里的所有的 key 就是 A 与 B 的并集了,可以声明一个 slice,把 key 都放进去。 需要排序的话,可以像楼上说的,用 sort 包来做,实现三个方法就行了。
#2
更多评论
LA可以考虑使用btree数据结构,插入数据可以考虑下面方式,这样就不用再重新排序了。(排序直接使用标准库sort提供的排序算法框架就行了) ```go func insertAt(index int, la *[]interface{}, value interface{}) { *la = append(*la, nil) if index < len(*la) { copy((*la)[index+1:], (*la)[index:]) } (*la)[index] = value } ```
#1