链表
链表(linked list),由一系列结点node(链表中每一个元素称为结点)组成,结点可以在运行时 i 动态生成
数据域: 存储数据的元素
指针域: 存储下个节点的地址
单向链表
由各个内存结构通过一个 Next 指针链接在一起组成,每一个内存结构都存在后继内存结构(链尾除外),内存结构由数据域和 Next 指针域组成
Main :(执行类)
public class Main {
public static void main(String[] args) {
//实例 操作对象
MyLink myLink = new MyLink();
//初始化链表数据
// 参数: name , id
Node[] staff = {
new Node(121,"小爱" , "00001"),
new Node(112,"可怡" , "00023"),
new Node(233,"小黑" , "33123")
};
//添加链表
for(Node tmp : staff){
myLink.addLast(tmp);
}
//添加单链 (最后)
myLink.addLast(new Node(232 , "智乃" ,"44221"));
//插入单链(索引) 在 "可怡" 节点 链后添加 "黑猫" 节点
myLink.addByValue(112 , new Node(234,"黑猫" , "00444"));
// 节点值为121 "可怡" 删除
myLink.removeNode(112);
//查询数据
System.out.println("查询节点值 234 的数据 : ["+myLink.getNode(234)+"]");
// 遍历链表
System.out.println("=================");
for (Node tmp : myLink.getNodeAll()){
System.out.println(tmp.toString());
}
System.out.println("=================");
}
}
Node :(单链节点类)
/**
* 单列节点
* 链表中的节点,
* data 代表节点的值
* next 指向下一个节点的引用
* @author Administrator
*/
public class Node {
/**数据域 (员工数据)
* name - 姓名
* id - ID号
* */
String name;
String id;
/**指针域 (链表数据)
* data - 节点的对象,即内容
* next - 节点的引用
*/
int data;
Node next = null;
//构造方法
public Node() {
}
public Node(int data) {
this.data = data;
}
public Node(int data , Node next) {
this.data = data;
this.next = next;
}
public Node(String name , String id) {
this.name = name;
this.id = id;
}
public Node(int data , String name , String id) {
this.data = data;
this.name = name;
this.id = id;
}
public Node(int data , Node next , String name , String id ) {
this.name = name;
this.id =