一.简单说一下内存
例如:
在进入超市购物前,你可能会将自身随身携带的物品放在超市门口的储物柜,每一个储物柜都是一个独立的内存空间用于存放物品,并且有一个位置标识,例如A区3-5。(代码中就是存储的地址值)
二.数组
数组是一个需要占用连续空间的数据结构。就相当于是占用并列的n个柜子,用来存放自己的物品。其中,要查找某一个柜子是什么东西就比较容易,对物品进行替换也很容易。但是如果要其进行扩容却比较困难,因为第n+1个柜子你没有占用。如果需要强行扩容,只有在另外一个具有足够多的连续空间(柜子)的地方进行占用,然后将物品存放进去。
总结:数组查找容易,插入、删除难
三、链表
链表的存储方式比较特殊,但是却可以很好的利用存储空间,因为链表的存放不是连续的,不需要占用并列的n个柜子,只需要满足还有n个柜子可以存放就可以了。链表结构下会在每一个柜子存放下一个柜子的位置,也就是说只要知道第一个柜子的位置,就可以知道所有的柜子的位置。但是缺点就是,无论你想找到哪一个柜子的东西,都必须从第一个柜子开始。
总结:链表查找难,插入、删除简单