分类 数据结构/算法 下的文章

Go 完整实现版本比较 VersionCompare 函数

VersionCompare — 用于对比两个的版本数字字符串大小。

此函数首先在版本字符串里用一个点 . 替换 _、- 和 +,也会在任意非数字前后插入一个点 .,这样,类似 '4.3.2RC1' 将会变成 '4.3.2.RC.1'。 接下来它会分割结果,然后它会从左往右对比各个部分。如果某部分包含了特定的版本字符串,将会用以下顺序处理:列表中未找到的任意字符串 < dev < alpha = a < beta = b < RC = rc < # < pl = p。 这种方式不仅能够对比类似 '4.1' 和 '4.1.2' 那种不同的版本级别,同时也可以指定对比任何包含开发状态的版本。

数据结构分类

数据结构(data structure),计算机中存储、组织数据的方式。数据结构大致可以分为以下几类:

  1. 集合结构(无相互关系,如:set)
  2. 线性结构(一对一关系,如:栈 数组 队列 链表)
  3. 树形结构(一对多关系,如:二叉树 红黑树 B树)
  4. 图形结构(多对多关系,如:有向图、无向图)