PS:链表是一种数据结构,而数据结构就是一种存放数据的方式。
为什么需要链表?
我们知道,数组也可以存储数据,那么为什么还需要链表呢?接下来,我们来看看数组 和链表的区别:
1、数组就像身上编了号站成一排的人,要找第10个人很容易,根据人身上的编号很快就能找到。但插入、删除慢,要往某个位置插入或删除一个人时,后面的人身上的编号都要变。当然,加入或删除的人始终末尾的也快。
2、链表就像手牵着手站成一圈的人,要找第10个人不容易,必须从第一个人一个个数过去。但插入、删除快。插入时只要解开两个人的手,并重新牵上新加进来的人的手就可以。删除一样的道理。
链表示意图
链表的建立
class TestLink{//创建一个外部类
private Entry head;//指向头结点的引用
public TestLink(){
head = new Entry();//用结点类 new 一个头结点
}
class Entry{//Entry 创建一个结点内部类
int data;//定义数据块
Entry next;//定义地址块
public Entry(){//构造方法1
data = -1;//对结点数据块初始化
next = null;//对地址初始化
}
public Entry(int val){//构造方法2
data = val;//对数据块赋值
next = null;
}
}
}
public class TestDemo2 {
public static void main(String[] args) {
TestLink testlink = new TestLink();
//创建一个 链表外部类 对象
}
}
头插法:从头插入
public void insertHead(int val){
//有这么一个结点
Entry cur = new Entry(val);
cur.