链表与数组是最基础的数据的结构,堆栈.队列等逻辑上的数据结构都是基于这两种数据结构实现的。
链表与数组的区别在于数组的内存分配是连续的(即数组的每一项内存地址是连续的),而链表则可能连续也可能不连续。
从性能上看,数组支持随机存储,查询速度相对于链表更快,但每一次插入或删除都要将操作数组项后面的元素逐一向前移动一位,效率为O(n)。而链表的查询每次都要从表头开始逐一查询,查询效率为O(n),查询速度相对数组更慢,但其插入删除速度由于只需要改变节点指针,所以操作速度更快。
链表节点
public class ListNode {
String information;//当前存储信息
ListNode nextNode;//指向下一节点
}
链表基本操作的实现
public class LinkList {
private int length;//链表长度
ListNode firstNode;//链表首指针
//链表大小
public int size()
{
return length;