Go转型——数据结构初级(二)

yinshidaoshi · · 1115 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

**1**.线性结构 线性结构的特点是:在数据元素的非空有限集合中: **(1)**. 存在唯一一个被称之为“第一个”的数据元素 **(2)**. 存在唯一一个被称之为“最后一个”的数据元素 **(3)**. 除了第一个元素,集合中其他数据元素都均只有一个前驱 **(4)**. 除了最后一个元素,集合中其他数据元素都均只有一个后继 **2**. 线性表 线性表是最常用且最简单的一种数据结构,简言之,一个线性表是n个数据元素的有限序列,至于每个元素的含义各不同,可能是一个数字或者更复杂的某些信息。 在稍微复杂的线性表中,一个数据元素可以由若干个数据项组成,这种情况下,我们把数据元素称之为“**记录**”,把线性表称之为“**文件**”。日常一图顶千言: ![image.png](https://static.studygolang.com/180120/a37406fca1cb339e70458067718b01a3.png) 线性表中的元素个数n(n>=0)为线性表的长度,n=0时为空表,在非空表中,每个元素都有一个固定的位置。线性表使用起来相当灵活,它的长度可以根据需求增长或缩短。 抽象数据类型线性表定义如下: ![image.png](https://static.studygolang.com/180120/7c129086f2bf8e42329686efa05cfdbb.png) ![image.png](https://static.studygolang.com/180120/9fea73dd8dadd2a37271dc2d4783bdf6.png) ![image.png](https://static.studygolang.com/180120/7284869abd70d789c8256f716f4d53ab.png) 上面定义的抽象数据类型线性表可以进行一些更复杂的操作,例如合并两个线性表,把一个线性表拆成两个或者复制一个线性表。 书上的例题想用go语言的方式来解决,例题如下: ![image.png](https://static.studygolang.com/180120/0290b428e2815bbfa74dd584f1d5699b.png) go语言中的slice没有插入方法,唯一能想到的只能是LA =append(LA,LB),然后再冒泡排序,不知道有没有人能指点一下,是否能有更优解决方式。

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1115 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传