--------------------------------------------------链表的创建----------------------------------------------------------
链表类 {
节点头链表中的节点类 {
数据域
指针域
构造方法(传入数据){}
节点类中的对接方法(新节点引用){如果当前指针为空,就把指针指向新的节点
如果下一个节点已经存在,就用下一个节点再调用本方法直到下一个节点的引用为空
}
}
链表与节点关系的操作方法(传入数据){
“实例化封装”引用 = new 节点类(传入数据)
如果节点头没有指向,指向新节点引用
如果有,准备下一个指针引用,通过调用对接方法实现
}
}
-----------------------------------------------------------链表的初始化---------------------------------------------------------
public class LinkList{ //链表
public Node head; //对第一个节点的引用
public Node current; //对下一个节点的引用
public void add(Object data){ //初始化每个节点
if(head == null){ //如果链表结构不存在
head = new Node(data); //初始化第一个节点
current = head; //引用指向本节点在只有一个节点的情况下
}else{
current.next = new Node(data); //把本节点类中的成员变量next设为对下一个节点的引用
current = current.next; //指向下一个节点
}
}
// 排序输出
public void print(Node node){
if(node == null){
return ;
}
while(node != null){
System.out.print(node.data+" ");
node = node.next; //最后一个Node的next没有new 所以为null
}
}
// 定位索引的位置
public void posIndex(int index) {
if (head == null) {
return;
}
if (index == -1) {
return;
}
current = head;
int j = 1;
while (current != null && j < index) {
current = current.next;
j++;
}
}
class Node{ //链表中每个节点的数据存储类
Object data; //数据域
Node next; //下一个指针
public Node(Object data){
this.data = data;
}
}
public static void main(String[] args){
LinkList list = new LinkList();
for(int i =0;i<10;i++){
list.add(i);
}
list.print(list.head);
}
}