数组:
1.是一组连续的内存空间,其个数在其分配内存是确定,因其长度固定,所以,如果其长度估算太大则易导致内存空间的浪费,而估算太小则易导致数组越界,易造成内存浪费;
2.数组将元素在内存中连续存放,由于每个元素占用内存相同,所以可通过下标迅速访问任何元素,但若要添加一个元素则需要移动大量的元素在内存中空出新增元素的位置。(删除同样需要移动大量元素将空出的位置填满)。
链表:1.链表是在 非连续的内存单元中保存数据,通过指针将各个内存单元(节点)链接在一起。
2.链表不需要提前分配固定大小存储空间,当需要存储数据的时候分配一块内存并将这块内存插入链表中,内存利用率高。
3.链表由一组节点组成,每个节点有一个数据域和一个指针域组成,数据域中存放数据,指针域中存放下一个节点的地址,最后一个节点指向null。
4.链式结构在查询时需通过指针逐个遍历,直到查找到想要的数据,而增删时则只需修改其前后节点的指针。