要学习数据结构与算法,与数据的类型密不可分,要知道数据在计算机中是如何存取的,需知道计算机中基本的存储单元是字节,一个字节是八个位。在计算机的内存连续的存储空间是由一些基本的存储单元组成的,一个字节(八个位)作为一个地址标识。存数据的时候需要多个存储单元放在一起表示。
如:0000 0000 这就是一个基本的存储单元。
如下:在计算机的内存中有四个基本存储单元,也就是四个字节。
对于32位机器 基本整型int 占 4个字节 如上图:一个整数类型的数据占4个基本储存单元(4个字节,也就是32个位)。
如:int 1; 在计算机中二进制存储,看到的是0000 0001, 其实实际是 00000000 00000000 00000000 00000001 一共4个字节,32个位来标识。
如:char 'a'; 在计算机中 只占一个存储空间,一个字节。
如果:声明,上图四个存储单元是 整型 int ,计算机会将这四个存储单元 看做整型来对待。
如果:声明,上图四个存储单元是 字符 char , 计算机会将这四个存储单元看做 4个char。
总结应该知道两点:
1.不同的类型占用存储单元个数不同。
2.计算机怎么对待内存中存储的这些二进制数据呢?根据不同的数据类型做对应的处理。
如果是一个顺序列表如下存储:Li [7,2100,390]
内存地址 00x1 对应 第一个元素 7
内存地址 00x5 对应 第二个元素 2100
内存地址 00x9 对应 第三个元素 390
内存中,三个元素是顺序存储的,想要取得第三个元素, 只需要取得第一个元素的地址就可以计算得到。如:
第三个元素的地址 = 第一个元素 1 + 2 * 4 得到 00x9 ,因为一个字节是四个位的。
顺序表的定义:顺序表是在计算机内存中以数组的形式保存的线性表,线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素、使得线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中,即通过数据元素物理存储的相邻关系来反映数据元素之间逻辑上的相邻关系,采用顺序存储结构的线性表通常称为顺序表。顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中。