数据结构 - 物理结构的存储

线性存储

如下的程序例子:

#include <iostream>

using namespace std;

/**
*   顺序存储结构
**/
int main()
{
    int arr[10] = { 1,2,3,4,5,6,7,8,9,0 };

    int* p = arr;

    printf("%p \n", p);

    for (int i = 0; i < size(arr); i++) {
        printf("%p : %d \n", p+i, *(p+i));
    }

    printf("\n");
    system("pause");

    return 0;
}


输出结果为

可以看到由于int类型在内存中占用4个字节的长度,所以出现了地址每4个间断进行了输出。

可以看到他的内存地址,都是连续的,006FF9**。可以证明,数组是在内存中开辟了一片连续且向邻的存储空间。


链式存储



索引存储



散列存储(HASH存储)

评论