本博客介绍了单链表的实现,以及头插法尾插法的代码实现
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.输出结果
读者可自行测试