每日一博 | 揭开链表的真面目
链表是一种常见的数据结构,链表是由一连串的结点组成,这个节点就是链结点,每个链结点都由数据域和指针域两部分组成。 使用链表结构可以克服数组结构需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间开销比较大。 链表比较好的一种理解是:将链表看成一个火车,每个车厢之间都是相互连接的,只要找到火车头,就可以找到具体的车身。链表也是,我们只关心它的头。 一 单向链表 1.1 单向链表原理图 单向链表的一个链结点包含数据域和下一个链结点的指针。头结点也包含数据域和指针域,但是一般为了方便查找,头节点不写数据,最后一个结点的指针指向空。 1.2 实现单向链表的存储等操作 创建一个链结点的实体类 publicclassNode{//数据域publiclongdata;//指针域publicNodenext;publicNode(longvalue){this.data=value;}} 1.2.1 插入一个节点 在头节点后插入一个结点,第一步需要将新插入的结点指向头结点指向的结点,第二步将头结点...
