单链表的创建示意图, 显示单向链表的分析
生活随笔
收集整理的這篇文章主要介紹了
单链表的创建示意图, 显示单向链表的分析
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
SingleLinkedListDemo.java
package com.dym.linkedlist;import java.util.Stack;public class SingleLinkedListDemo {public static void main(String[] args) {//進(jìn)行測(cè)試//先創(chuàng)建節(jié)點(diǎn)HeroNode hero1 = new HeroNode(1, "宋江", "及時(shí)雨");HeroNode hero2 = new HeroNode(2, "盧俊義", "玉麒麟");HeroNode hero3 = new HeroNode(3, "吳用", "智多星");HeroNode hero4 = new HeroNode(4, "林沖", "豹子頭");//創(chuàng)建要給鏈表SingleLinkedList singleLinkedList = new SingleLinkedList();//加入singleLinkedList.add(hero1);singleLinkedList.add(hero4);singleLinkedList.add(hero2);singleLinkedList.add(hero3);//顯示一把singleLinkedList.list();} }//定義SingleLinkedList 管理我們的英雄 class SingleLinkedList {//先初始化一個(gè)頭節(jié)點(diǎn), 頭節(jié)點(diǎn)不要?jiǎng)? 不存放具體的數(shù)據(jù)private HeroNode head = new HeroNode(0, "", "");//添加節(jié)點(diǎn)到單向鏈表//思路,當(dāng)不考慮編號(hào)順序時(shí)//1. 找到當(dāng)前鏈表的最后節(jié)點(diǎn)//2. 將最后這個(gè)節(jié)點(diǎn)的next 指向 新的節(jié)點(diǎn)public void add(HeroNode heroNode) {//因?yàn)閔ead節(jié)點(diǎn)不能動(dòng),因此我們需要一個(gè)輔助遍歷 tempHeroNode temp = head;//遍歷鏈表,找到最后while(true) {//找到鏈表的最后if(temp.next == null) {//break;}//如果沒有找到最后, 將將temp后移temp = temp.next;}//當(dāng)退出while循環(huán)時(shí),temp就指向了鏈表的最后//將最后這個(gè)節(jié)點(diǎn)的next 指向 新的節(jié)點(diǎn)temp.next = heroNode;}//顯示鏈表[遍歷]public void list() {//判斷鏈表是否為空if(head.next == null) {System.out.println("鏈表為空");return;}//因?yàn)轭^節(jié)點(diǎn),不能動(dòng),因此我們需要一個(gè)輔助變量來(lái)遍歷HeroNode temp = head.next;while(true) {//判斷是否到鏈表最后if(temp == null) {break;}//輸出節(jié)點(diǎn)的信息System.out.println(temp);//將temp后移, 一定小心temp = temp.next;}} }//定義HeroNode , 每個(gè)HeroNode 對(duì)象就是一個(gè)節(jié)點(diǎn) class HeroNode {public int no;public String name;public String nickname;public HeroNode next; //指向下一個(gè)節(jié)點(diǎn)//構(gòu)造器public HeroNode(int no, String name, String nickname) {this.no = no;this.name = name;this.nickname = nickname;}//為了顯示方法,我們重新toString@Overridepublic String toString() {return "HeroNode{" +"no=" + no +", name='" + name + '\'' +", nickname='" + nickname + '\'' +", next=" + next +'}';} }HeroNode{no=1, name='宋江', nickname='及時(shí)雨', next=HeroNode{no=4, name='林沖', nickname='豹子頭', next=HeroNode{no=2, name='盧俊義', nickname='玉麒麟', next=HeroNode{no=3, name='吳用', nickname='智多星', next=null}}}}
HeroNode{no=4, name='林沖', nickname='豹子頭', next=HeroNode{no=2, name='盧俊義', nickname='玉麒麟', next=HeroNode{no=3, name='吳用', nickname='智多星', next=null}}}
HeroNode{no=2, name='盧俊義', nickname='玉麒麟', next=HeroNode{no=3, name='吳用', nickname='智多星', next=null}}
HeroNode{no=3, name='吳用', nickname='智多星', next=null}
Process finished with exit code 0
總結(jié)
以上是生活随笔為你收集整理的单链表的创建示意图, 显示单向链表的分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数组模拟环形队列
- 下一篇: 单链表按顺序插入节点