数据结构

线性结构

  • 数组(列表)
线性结构就是能用一根线串起来的结构
"""
1、申请数组的前提条件是:内存是连续的

2、int a[7] :代表声明一个数组是a,数组大小是7,数组的元素都是整型

一个数长度是4个字节所以7个是28个字节

3、如何申请内存:在C, C++ 语言中,mallco(28)申请28个字节,用完后要释放: free(28)

4、如果 int a[7] = [1, 2, 3, 4, 5, 6, 7]  那如何知道 a[3] = 4的?

a[3] = 首地址(1000) + 索引(3) * 长度(4)= 1012--1015

5、首地址是保存在数组名中的
"""
  • 链表(约瑟夫问题、丢手绢问题)
"""
数组要一块连续的内存空间来存储,对内存的要求比较高。如果我们申请一个 100MB 大小的数组,当内存中没有连续的、足够大的存储空间时,即便内存的剩余总可用空间大于 100MB,仍然会申请失败。 而链表恰恰相反,它并不需要一块连续的内存空间,它通过“指针”将一组零散的内存块串联起来使用,所以如果我们申请的是 100MB 大小的链表,根本不会有问题。
"""

posted @ 2020-04-08 23:49  alen_zhan  阅读(122)  评论(0编辑  收藏  举报
返回顶部