线性表概念: 线性表是一种最简单、常用的数据结构,通常一个线性表是有n(n>=0)个性质相同的数据元素组成的有限序列
通常记为:(a1, a2, a3, a4, a5 .... an)。
线性表的抽象数据类型:线性表是一个相当灵活的数据结构,它的长度可以根据需要增长或缩短。
public interface List<E> //线性表接口
{
boolean isEmpty(); //判断链表是否为空
int length(); //返回链表长度
E get(int index); //去第index个元素
void add(E element) //插入元素
void add(int index, E element); //在index位置插入元素
E remove(int index); //移除index位置元素 并返回该元素
void clear(); //清除线性表
}
线性表顺序表示与实现
线性表的顺序表示;
单链表
public class Note<E> //单链表的节点类
{
public E date; //节点数据
public Note<E> next; //下一个节点
}
//单链表类
public class SinglyLinkedList implements List<E>
{
protected Note<E> head; //头指针
public SinglyLinkedList() //构造空的单链表
{
this.head = null;
}
//添加节点
public void add(Note<E> note)
{
if(head == null)
{
head = note;
}
else
{
Note<E> temp = head;
while(temp.next != null)
{
temp = temp.netx;
}
temp.next = note
}
}
// 省略其他方法
}
双链表
public clas DNote<E>
{
public E date; //节点数据
public DoubleNote<E> prev, next; //前驱 后继
}
参考单链表