本博客介紹了單鏈表的實現,以及頭插法尾插法的代碼實現
1.定義一個結點類
class ListNode{int value;ListNode next;public ListNode(int value) {super();this.value= value;}@Overridepublic String toString() {return "ListNode{" +"value=" + value +",next=" +next +'}';}
}
2.定義單鏈表類
設置頭指針用于指向第一個結點
public class LinkList {public ListNode head;}
3.頭插法
//頭插法public void Headinsert(int value){//創建結點ListNode node = new ListNode(value);if(head==null){head=node;return;}node.next=head;head=node;}
4.尾插法
//尾插法public void insert(int value){ListNode node = new ListNode(value);if (head==null){head=node;return;}ListNode flag = head;//用flag游標找到尾節點while (flag.next!=null){flag=flag.next;}flag.next=node;}
5.輸出結點值
定義printLink類,用于輸出鏈表結點
//輸出鏈表上的值public void printLink() {//定義flag游標進行遍歷ListNode flag = head;while(flag!=null) {System.out.print(flag.value+" ");flag=flag.next;}System.out.println();}
6.測試
public class Test {public static void main(String[] args) {LinkList linkList = new LinkList();//尾插法linkList.insert(5);linkList.insert(2);linkList.insert(7);linkList.insert(5);linkList.insert(3);linkList.printLink();//頭插法linkList.Headinsert(8);linkList.Headinsert(7);linkList.Headinsert(6);linkList.Headinsert(5);linkList.printLink();}
}
7.輸出結果
讀者可自行測試