大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 JAVA實現(xiàn)雙向鏈表的增刪功能的方法有哪些

JAVA實現(xiàn)雙向鏈表的增刪功能的方法有哪些

更新時間:2019-08-29 11:41:38 來源:動力節(jié)點 瀏覽2524次

  


今天動力節(jié)點java培訓(xùn)機(jī)構(gòu)小編為大家介紹“JAVA實現(xiàn)雙向鏈表的增刪功能的方法”,希望通過此文能夠幫助到大家,下面就隨小編一起看看JAVA實現(xiàn)雙向鏈表的增刪功能的方法都有哪些?


JAVA實現(xiàn)雙向鏈表的增刪功能,完整代碼如下:


package linked;

class LinkedTable{  

}

public class LinkedTableTest {

   //構(gòu)造單鏈表

  static Node node1 = new Node("name1");

  static Node node2 = new Node("name2");

  static Node node3 = new Node("name3");

  static Node node4 = new Node("name4");

  static Node node5 = new Node("name5");

  public static void main(String[] args)

  {

    //設(shè)置指針

    setPoint();

     

    //循環(huán)遍歷

    System.out.println("*******初始鏈表*******");

    out(node1,node5);

    System.out.println();

     

    //插入節(jié)點在node2的后面

    addNode(node2,node3);

     

    // 循環(huán)遍歷

    System.out.println("*******插入node2.5*******");

    out(node1, node5);

    System.out.println();

         

    //刪除節(jié)點

    node2.setNextNode(node3);

    node3.setNextNodeF(node2);

     

    // 循環(huán)遍歷

    System.out.println("*******刪除node2.5*******");

    out(node1, node5);

    System.out.println();

     

  }

   

  //設(shè)置指針

  public static void setPoint()

  {

    //設(shè)置正向指針

    node1.setNextNode(node2);

    node2.setNextNode(node3);

    node3.setNextNode(node4);

    node4.setNextNode(node5);

    //設(shè)置反向指針

    node5.setNextNodeF(node4);

    node4.setNextNodeF(node3);

    node3.setNextNodeF(node2);

    node2.setNextNodeF(node1);

  }

   

  //循環(huán)遍歷單鏈表

  public static void outLinked(Node startNode){

    Node node= new Node();

    node.setNextNode(startNode);

    do

    {

      node=node.getNextNode();

      System.out.print(node.getName()+"----");  

    }while(node.getNextNode()!=null);

  }

   

  //反向循環(huán)遍歷單鏈表

  public static void outLinkedF(Node endNode){

    Node node= new Node();

    node.setNextNodeF(endNode);

    do

    {

      node=node.getNextNodeF();

      System.out.print(node.getName()+"----");  

    }while(node.getNextNodeF()!=null);

  }

   

  //循環(huán)遍歷

  public static void out(Node startNode,Node endNode)

  {

    outLinked(startNode);

    System.out.println();

    outLinkedF(endNode);    

  }

   

  //插入節(jié)點

  public static void addNode(Node preNode,Node nextNode)

  {

    Node node_add = new Node("name2.5");

    node_add.setNextNode(preNode.getNextNode());

    preNode.setNextNode(node_add);    

    node_add.setNextNodeF(nextNode.getNextNodeF());

    nextNode.setNextNodeF(node_add);

  }  

}

 

class Node {

  private String name;

  private Node nextNode;

  private Node nextNodeF;

  public void setName(String name)

  {

    this.name=name;

  }

  public void setNextNode(Node nextNode)

  {

    this.nextNode=nextNode;

  }

  public void setNextNodeF(Node nextNodeF)

  {

    this.nextNodeF=nextNodeF;

  }

  public String getName()

  {

    return this.name;

  }

  public Node getNextNode()

  {

    return this.nextNode;

  }

  public Node getNextNodeF()

  {

    return this.nextNodeF;

  }

  public Node(String name)

  {

    this.name=name;

    this.nextNode=null;

  }

  public Node( )

  {    

  }  

}


1、構(gòu)造node節(jié)點,需要兩個指針,一個正向存儲下一個元素的位置,一個反向存儲下一個元素的位置


JAVA實現(xiàn)雙向鏈表的增刪功能的方法有哪些


參數(shù)說明:


  name:用于存儲node自身的信息


  nextNode:用于存儲正向指針


  nextNodeF:用于存儲反向指針


class Node {

  private String name;

  private Node nextNode;

  private Node nextNodeF;

  public void setName(String name)

  {

    this.name=name;

  }

  public void setNextNode(Node nextNode)

  {

    this.nextNode=nextNode;

  }

  public void setNextNodeF(Node nextNodeF)

  {

    this.nextNodeF=nextNodeF;

  }

  public String getName()

  {

    return this.name;

  }

  public Node getNextNode()

  {

    return this.nextNode;

  }

  public Node getNextNodeF()

  {

    return this.nextNodeF;

  }

  public Node(String name)

  {

    this.name=name;

    this.nextNode=null;

  }

  public Node( )

  {    

  }  

}



2、創(chuàng)建節(jié)點,設(shè)置指針連接節(jié)點


正向指針:指向下一個節(jié)點


反向節(jié)點:指向上一個節(jié)點


//構(gòu)造單鏈表

  static Node node1 = new Node("name1");

  static Node node2 = new Node("name2");

  static Node node3 = new Node("name3");

  static Node node4 = new Node("name4");

  static Node node5 = new Node("name5");


public static void setPoint()

  {

    //設(shè)置正向指針

    node1.setNextNode(node2);

    node2.setNextNode(node3);

    node3.setNextNode(node4);

    node4.setNextNode(node5);

    //設(shè)置反向指針

    node5.setNextNodeF(node4);

    node4.setNextNodeF(node3);

    node3.setNextNodeF(node2);

    node2.setNextNodeF(node1);

  }



3、將鏈表循環(huán)遍歷輸出


public static void outLinked(Node startNode){

    Node node= new Node();

    node.setNextNode(startNode);

    do

    {

      node=node.getNextNode();

      System.out.print(node.getName()+"----");  

    }while(node.getNextNode()!=null);

  }



public static void outLinkedF(Node endNode){

  Node node= new Node();

  node.setNextNodeF(endNode);

  do

  {

    node=node.getNextNodeF();

    System.out.print(node.getName()+"----");  

  }while(node.getNextNodeF()!=null);

}



4、添加節(jié)點


public static void addNode(Node preNode,Node nextNode)

{

  Node node_add = new Node("name2.5");

  node_add.setNextNode(preNode.getNextNode());

  preNode.setNextNode(node_add);

   

  node_add.setNextNodeF(nextNode.getNextNodeF());

  nextNode.setNextNodeF(node_add);

}



5,刪除節(jié)點


node2.setNextNode(node3);

node3.setNextNodeF(node2);


以上就是動力節(jié)點java培訓(xùn)機(jī)構(gòu)小編介紹的“JAVA實現(xiàn)雙向鏈表的增刪功能的方法”的內(nèi)容,希望能夠幫助到大家,更多java最新資訊內(nèi)容請繼續(xù)關(guān)注動力節(jié)點java培訓(xùn)機(jī)構(gòu)官網(wǎng),每天會有精彩內(nèi)容分享與你。


相關(guān)視頻教程推薦


java雙向鏈表視頻教程下載:http://www.dabaquan.cn/xiazai/2484.html



提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 久久激情五月 | 久久综合九色 | 免费视频爱爱 | 午夜干b| 国产亚洲欧美日韩v在线 | 国产欧美日韩一区 | 大学生久久香蕉国产线看观看 | 中文字幕一区二区三区四区 | 午夜宅男免费完整在线观看 | 一级做a免费视频观看网站 一级做a爰片久久毛片唾 | 久久毛片免费 | 久久一区 | 天天干天天拍天天操 | 欧美精品中文字幕手机免费视频 | 国产成人亚洲影视在线 | 久久综合亚洲 | 日本不卡不码高清免费观看 | 国产美女亚洲精品久久久久久 | 一级毛片免费播放视频 | 黄色片网站大全 | 香蕉依人 | 久草视频网| 婷婷精品进入 | 免费观看一级特黄三大片视频 | 中文国产成人精品久久一 | 99热久久精里都是精品66 | 国产性一交一乱一伦一色一情 | 国产精品久久久久免费视频 | 国产亚洲精品看片在线观看 | 日韩欧美亚洲综合久久影院d3 | 日日摸天天添天天添破 | 四虎国产成人永久精品免费 | 中文字幕亚洲一区婷婷 | 亚洲一区视频在线播放 | 一级色 | 免费在线中文字幕 | 欧美亚洲日本国产综合网 | 看久久| 亚洲国产精品一区 | 国产热热 | 在线观看精品91老司机 |