链表是一种物理存储结构上非连续存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的 。
链表有一个个节点(Node)组成
每个节点内都会有存放数值和指针的位置。
根据节点的不同可分为如下几种:
今天主要实现无头单链表的基本功能
class Node {
public int data; //数据存放域
public Node next; //节点后继
public Node() {
}
// 1、无头单向非循环链表实现
public class SingleLinkedList {
public Node head;
//头插法
public void addFirst(int data);
//尾插法
public void addLast(int data);
//判断是否包含key值
public boolean contains(int key)
//任意位置插入,第一个数据节点为0号下标
public boolean addIndex(int index,int data);
//删除第一次出现关键字为key的节点
public void remove(int key);
//删除所有值为key的节点
public void removeAllKey(int key);
//得到单链表的长度
public int size();
public void display();
public void clear();