1什么是鏈表
:鏈表是把每個數據分為一個類,然后通過next指針域連接起來的表,可以通過這樣的方法消去數組組的0項;
鏈表定義在Java中
我們需要定義一個當前值和下一個指針

package com.jiedada.jiegou; public class Node { public int var;//值域 protected Node next;//指針域 //構造方法 public Node(int data) { this.var=data; } public void display() { System.out.println(var+" "); } }
鏈表的部分方法

package com.jiedada.jiegou; public class ListLink { //定義頭節點 public Node first; //定義頭節點位置 private int pos=0; public ListLink() { this.first=null; } //插入一個頭節點 public void addFirstNode(int data) { Node node=new Node(data); node.next=first; first=node; } //刪除頭節點,並返回頭節點 public Node deleteFirstNode() { Node tempNode=first; first=tempNode.next; return tempNode; } //在任意位置插入節點,在INDEX后面插入 public void add(int index, int data) { Node node = new Node(data); Node current = first; Node previous = first; while (pos != index) { previous = current; current = current.next; pos++; } node.next = current; previous.next = node; pos = 0; } //刪除任意位置的節點 public void delete(int index) { Node current=first; Node previous=first; while(pos!=index) { previous=current; current=current; pos++; } if(current==first) { first=first.next; } else { previous.next=current.next; } } //根據節點的data刪除節點(刪除第一個) public Node deleteData(int var) { Node current=first; Node previous=first;//記住上一個節點 while(current.var!=var) { if(current==null) { return null; } previous=current; current=current.next; } if(current==first) { first=first.next; } else { previous.next=current.next; } return current; } //顯示信息 public void displayAalNode() { Node current=first; while(current!=null) { current.display(); current=current.next; } System.out.println(); } //查找結點 public Node find(int var) { Node current=first; while(current.var!=var) { if(current.next==null) { return null; } current=current.next; } return current; } }
鏈表測試

package com.jiedada.jiegou; public class test { public static void main(String[] args) { // TODO Auto-generated method stub //鏈表測試 ListLink listlink=new ListLink(); listlink.addFirstNode(20); listlink.addFirstNode(21); listlink.addFirstNode(22); //輸出為22,21,20 listlink.add(1, 23); listlink.add(2, 24); listlink.add(3, 25); //輸出為22,23,24,25,21,20 listlink.displayAalNode(); } }
代碼連接為:https://www.cnblogs.com/_popc/p/4025684.html