Skip to content

Commit cce691a

Browse files
committed
线性表说明
1 parent eac86a5 commit cce691a

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

02-数据结构/01-线性表2-顺序存储.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ func main() {
3737
#### 2.2 顺序结构存储方式定义
3838

3939
```
40-
线性表对象 SequenList
40+
线性表对象 ArrayList # 顺序结构底层使用数组实现(Go中使用切片)
4141
线性表数据 Data = {a1, a2, a3, ... , an}
4242
线性表方法
4343
NewSequenList() # 初始化一个线性表
@@ -48,6 +48,15 @@ func main() {
4848

4949
#### 2.2 顺序结构存储方式实现
5050

51+
在Go语言中,有数组和切片两种较为常见的数据结构,数组的长度不可变,切片的长度可变(因为切片底层是一个数组和指针),使用数组与切片都可以模拟顺序结构线性表。但是由于线性表非常灵活(可以理解为JS中的数组,万能的),为了表现顺序存储数据在插入数据时,数据的移动性,笔者采用Go的数组方式模拟线性表的顺序存储结构。
52+
53+
当然是用数组也带来了一些问题,Go是静态类型语言,需要确定数组中元素的类型,我们这里统一设定数组的元素都为int类型,且元素的个数为一个固定值100。
54+
55+
贴士:
56+
- 当然由于上述Go数组的各种限制,生成的线性表具有很大的局限性,在Go语言中,笔者推荐线性表使用切片描述。
57+
- 制作各种属性与方法时候,要注意其私有性与公有性,尽量私有属性,并以方法形式提供给外部
58+
59+
5160

5261

5362

0 commit comments

Comments
 (0)