什么是指针?

指针也是一种变量, 它所表示的不是数据的值, 而是 存储着数据的内存的地址
通过使用指针, 就可以对任意指定地址的数据进行读写。

==========================================
什么是数组、索引?

数组是指多个同样数据类型的数据在内存中连续排列的形式。
作为数组元素的各个数据会通过连续的编号被区分开来,这个编号称为 索引
之所以说数组是内存的使用方法的基础, 是因为数组和内存的物理构造是一样的。特别是 1 字节类型的数组, 它和内存的物理构造完全一致。

==========================================

栈的愿意是干草堆积如山。干草堆积成山后, 最后堆的干草会被最先抽取出来。
在程序中也是如此, 为了实现临时保存数据的目的, 使用这种类似于干草堆的机制是非常方便的。而这种机制体现在内存上, 就是

栈和队列, 都可以不通过指定地址和索引来对数组的元素进行读写。
如果我们在内存中预留出栈和队列所需要的空间, 并确定好写入和读出的顺序, 就不用在指定地址和索引了。
如果要在程序中实现栈和队列, 就需要以适当的元素数来定义一个用来存储数据的数组, 以及对该数组进行读写的函数对儿。
当然, 在这些函数的内部, 对数组的读写会涉及索引的管理, 但是从使用函数的角度来说, 就没有必要考虑数组及索引了。

==========================================
队列

队列这一方式也称为排队。排队指的是买车票时在自动售票机前等候的队列。排队时, 站在最前面的乘客先买票, 购买后率先从队列中走出来。当随机前来的购票乘客数量和自动售票机的处理速度不相符时, 排队能起到很好的缓冲作用
在程序中也是如此, 为了协调好数据输入处理的时机间的关系, 采用类似于排队的机制是很方便的。在内存上, 实现这种机制的方式就是队列

==========================================
链表

通过使用链表, 可以更加高效地对数组数据(元素) 进行追加和删除处理。
在数组的各个元素中, 除了数据的值之外, 通过为其附带上 下一个元素的索引 , 即可实现链表

==========================================
二叉查找树

通过使用二叉查找树, 则可以更加高效地对数组进行检索。


发表评论

电子邮件地址不会被公开。 必填项已用*标注