赞
踩
链表是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存储下一个节点的 指针
使用链表结构可以克服数组需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间开销比较大
单链表是链表中结构最简单的。其数据在内存中存储是不连续的,它存储的数据是分散在内存中的
Node
)分为两个部分,一部分(data
)保存关于节点的数据;另一部分(next
)存储下一个节点的地址Head
),我们对链表的所有操作,都是直接或者间接地通过其头节点来进行的单链表中,因为节点 Node
只有一个 next
指针,所以想要获取数据,只能从头节点数据开始,顺着 next
指针的指向依次往下访问,即顺序访问
插入,删除都是通过在指定节点处来进行插入,实现思路如下
Node
的 next
的指向public class SingleLinkList { private int size; private Node head; public SingleLinkList() { this.size = 0; this.head = null; } /** 内部类节点 */ public class Node { private Object data;// 节点数据 private Node next;// 指向下一个节点 public Node(Object data) { this.data = data; } @Override public String toString() { return "Node{" + "data=" + data + ", next=" + next + '}'; } } @Override public String toString() { return "SingleLinkList{" + "size=" + size + ", head=" + head + '}'; } public static void main(String[] args) { SingleLinkList linkList = new SingleLinkList(); linkList.addHead("a"); linkList.addHead("b"); linkList.addHead("c"); //linkList.delHead(); System.out.println(linkList); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。