GoDS Go 数据结构包

开源网站开源项目 24-05-07 16:37:16

GoDS 是一个 Go 语言实现的各种数据结构的工具包,包括:

Containers (Sets, Lists, Stacks, Maps, Trees),

Sets (HashSet, TreeSet, LinkedHashSet),

Lists (ArrayList, SinglyLinkedList, DoublyLinkedList),

Stacks (LinkedListStack, ArrayStack),

Maps (HashMap, TreeMap, HashBidiMap, TreeBidiMap, LinkedHashMap),

Trees (RedBlackTree, AVLTree, BTree, BinaryHeap),

Comparators,

Iterators,

示例代码:

package mainimport ("github.com/emirpasic/gods/lists/arraylist""github.com/emirpasic/gods/utils")func main() {list := arraylist.New()list.Add("a")                         // ["a"]list.Add("c", "b")                    // ["a","c","b"]list.Sort(utils.StringComparator)     // ["a","b","c"]_, _ = list.Get(0)                    // "a",true_, _ = list.Get(100)                  // nil,false_ = list.Contains("a", "b", "c")      // true_ = list.Contains("a", "b", "c", "d") // falselist.Swap(0, 1)                       // ["b","a",c"]list.Remove(2)                        // ["b","a"]list.Remove(1)                        // ["b"]list.Remove(0)                        // []list.Remove(0)                        // [] (ignored)_ = list.Empty()                      // true_ = list.Size()                       // 0list.Add("a")                         // ["a"]list.Clear()                          // []list.Insert(0, "b")                   // ["b"]list.Insert(0, "a")                   // ["a","b"]}

[GoDS Go 数据结构包]相关推荐
Paz 持续部署产品环境

Paz 持续部署产品环境

Paz 是一个基于 Docker、CoreOS、etcd 和 fleet 的持续部署产品环境。是一个类似 PaaS 工作流程的可插入……...

MetInfo 企业建站系统

米拓企业建站系统主要用于搭建企业网站,采用PHP+MySQL架构,支持SQLite数据库,全站内置了SEO搜索引擎优……...

Inject AMD/CJS 依赖管理器

Inject 是 AMD 和 CJS 依赖管理器,它以一种 Library Agnosti c 的方式来管理你的依赖。主要特性包括: ……...

Lion HTTP 路由器

Lion HTTP 路由器

Lion 是一个 Go 语言的快速 HTTP 路由器,支持构建可伸缩的模块化的 REST APIs 应用。 特性 上下文敏感:……...

Meld 文本差异比较工具

Meld是一个针对开发者的可视化差异和合并工具。Meld帮助你比较文件、目录和版本控制项目。它提供文件和目……...

今日开源
  1. Django Python Web 框架

    Django 是一个高级 Python Web 框架,鼓励快速开发和简洁实用的设计。Django 使你可以更轻松地以更少的代码更快地构建更好的 Web 应用程序。 Django 框架的核心组件有: 用于创建模型的对象关系映射 为最终用户设……

    开源软件 2024-05-19

  2. Spree 开源商城

    Spree 开源商城

    Spree一款采用Ruby on Rails开发的开源商城,兼容Rails 2.1,它作为独立的一个软件发布,可扩展,还包括完整的数据模型和管理界面。不过您仍然需要做相当多的定制编码。它并不是一个“out of the box”的解决办法。S……

    开源软件 2024-05-19

  3. Cucumber 自动化测试工具

    Cucumber 是一个能够理解用普通语言描述的测试用例的支持行为驱动开发(BDD)的自动化测试工具,旨在提高软件质量并降低维护成本的软件开发过程。用多种语言编写,支持Java、JavaScript、Ruby、.Net等多种开发语言……

    开源软件 2024-05-19

返回顶部小火箭