亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

java數據結構之實現雙向鏈表的示例

2019-11-26 15:35:50
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:

/**
 * 雙向鏈表的實現
 * @author Skip
 * @version 1.0
 */
public class DoubleNodeList<T> {
 //節點類
 private static class Node<T>{
  Node<T> perv;  //前節點
  Node<T> next;  //后節點
  T data;    //數據

  public Node(T t){
   this.data = t;
  }
 }
 private Node<T> head;  //頭節點
 private Node<T> last;  //尾節點
 private Node<T> other;  //備用節點存放臨時操作
 private int length;  //鏈表長度

 /**
  * 無參構造
  */
 public DoubleNodeList(){
  head = new Node<T>(null);
  last = head;
  length = 0;
 }

 /**
  * 初始化時創建一個節點
  * @param data 數據
  */
 public DoubleNodeList(T data){
  head = new Node<T>(data);
  last = head;
  length = 1;
 }

 /**
  * 添加一個節點
  * @param data 添加的數據
  */
 public void add(T data){
  if(isEmpty()){
   head = new Node<T>(data);
   last = head;
   length++;
  }else{
   //尾插法
   other = new Node<T>(data);
   other.perv = last;
   last.next = other;
   last = other;
   length++;
  }
 }

 /**
  * 在指定數據后插入一個節點
  * @param data 指定的數據
  * @param insertData 插入的數據
  * @return 插入成功返回true,不成功返回false
  */
 public boolean addAfert(T data , T insertData){
  other = head;
  while(other != null){
   if(other.data.equals(data)){
    Node<T> t = new Node<T>(insertData);
    t.perv = other;
    t.next = other.next;
    other.next = t;
    //判斷是否在最后一個節點后添加節點
    if(t.next==null){
     last = t;
    }
    length++;
    return true;
   }
   other = other.next;
  }
  return false;
 }

 /**
  * 在指定數據前插入一個節點
  * @param data 指定的數據
  * @param insertData 插入的數據
  * @return 插入成功返回true,不成功返回false
  */
 public boolean addBefore(T data, T insertData){
  other = head;
  while(other != null){
   if(other.data.equals(data)){
    Node<T> t = new Node<T>(insertData);
    t.perv = other.perv;
    t.next = other;
    other.perv.next = t;
    length++;
    return true;
   }
   other = other.next;
  }
  return false;
 }

 /**
  * 獲得索引處的數據
  * @param index 索引
  * @return 數據
  */
 public T get(int index){
  if(index>length || index<0){
   throw new IndexOutOfBoundsException("索引越界:"+index);
  }
  other = head;
  for(int i=0;i<index;i++){
   other = other.next;
  }
  return other.data;
 }

 /**
  * 新值替換舊值
  * @return 成功為true,未找到為false
  */
 public boolean set(T oldValue,T newValue){
  other = head;
  while(other!=null){
   if(other.data.equals(oldValue)){
    other.data = newValue;
    return true;
   }
   other = other.next;
  }
  return false;
 }

 /**
  * 移除指定的元素
  * @param data 需要移除的元素
  * @return 不存在為false,成功為true
  */
 public boolean remove(T data){
  other = head;
  while(other != null){
   if(other.data.equals(data)){
    other.perv.next = other.next;
    length--;
    return true;
   }
   other = other.next;
  }
  return false;
 }

 /**
  * 鏈表中是否包含此元素
  * @return 包含為true,不包含為false
  */
 public boolean contains(T data){
  other = head;
  while(other != null){
   if(other.data.equals(data)){
    return true;
   }
   other = other.next;
  }
  return false;
 }

 /**
  * 獲得最后一個節點的數據
  * @return 最后一個節點的數據
  */
 public T getLast(){
  return last.data;
 }

 /**
  * 獲得第一個節點的數據
  * @return 第一個節點的數據
  */
 public T getFirst(){
  return head.data;
 }

 /**
  * 獲得鏈表的長度
  * @return 長度
  */
 public int getSize(){
  return length;
 }

 /**
  * 是否為空鏈表
  * @return 空鏈表為true,非空鏈表為false
  */
 public boolean isEmpty(){
  return length==0;
 }

 /**
  * 清空鏈表
  */
 public void clear(){
  head = null;
  length = 0;
 }

 /**
  * 輸出鏈表內所有節點
  */
 public void printList(){
  if(isEmpty()){
   System.out.println("空鏈表");
  }else{
   other = head;
   for(int i=0;i<length;i++){
    System.out.print(other.data+" ");
    other = other.next;
   }
   System.out.println();
  }
 }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美电影在线观看完整版| 国产成人精品一区| 欧美丝袜一区二区三区| 91精品久久久久久久久久| 欧美激情va永久在线播放| 97精品欧美一区二区三区| 最近2019免费中文字幕视频三| x99av成人免费| 精品毛片网大全| 久热精品在线视频| 久久精品国产96久久久香蕉| 亚洲欧美日韩爽爽影院| 亚洲欧美中文字幕在线一区| 久久久精品一区| 97精品在线视频| 97国产精品免费视频| 色偷偷综合社区| 亚洲美女av网站| 操日韩av在线电影| 日韩电影中文字幕一区| 欧美日韩国产精品专区| 国产成人亚洲综合青青| 亚洲精品电影在线| 亚洲第一中文字幕| 国模gogo一区二区大胆私拍| 国产精品久久久久久亚洲调教| 国产一区二区在线免费视频| 国产精品一区二区三区毛片淫片| 中文字幕亚洲情99在线| 777777777亚洲妇女| 亚洲自拍偷拍第一页| 久久成人亚洲精品| 欧美成人黑人xx视频免费观看| 91久久国产精品| 九九热精品视频在线播放| 久久久精品免费视频| 97碰碰碰免费色视频| 亚洲精品wwwww| 欧美国产精品va在线观看| 欧美成人高清视频| 国产精品激情av在线播放| 亚洲国产天堂久久综合| 亚洲国产高潮在线观看| 久久久久久久一| 国产精品一区=区| 亚洲天堂av网| 亚洲黄色av女优在线观看| 国产精品亚洲精品| 国产精品一区二区3区| 国内精品美女av在线播放| 亚洲香蕉成视频在线观看| 91免费看视频.| 亚洲国产精品悠悠久久琪琪| 性色av一区二区三区| 亚洲综合一区二区不卡| 欧美日韩美女在线观看| 97精品视频在线观看| 欧美黄色免费网站| 最新亚洲国产精品| 国产成人精品国内自产拍免费看| 青青草原成人在线视频| 在线观看日韩www视频免费| 欧美成在线视频| 国外成人免费在线播放| 日韩影视在线观看| 97香蕉久久超级碰碰高清版| 亚洲第一二三四五区| 麻豆一区二区在线观看| 国产99久久久欧美黑人| 久久大大胆人体| 亚洲精品一区二区三区婷婷月| 国产日韩欧美日韩大片| 国产精品专区第二| 国产97免费视| 欧美成人一区在线| 亚洲天堂av综合网| 国产精品久久在线观看| 久久久精品2019中文字幕神马| 亚洲精品97久久| 亚洲成人a级网| 国产日韩亚洲欧美| 欧美激情精品久久久久久免费印度| 国模精品视频一区二区三区| 亚洲综合大片69999| 欧美成在线观看| 国产成人亚洲综合| 97色在线播放视频| 欧美老少配视频| 亚洲视频在线观看免费| 亚洲一区二区三区久久| 国产噜噜噜噜久久久久久久久| 欧美亚洲国产精品| 亚洲综合精品一区二区| 91在线视频成人| 亚洲成人精品视频在线观看| 亚洲v日韩v综合v精品v| 久久精品国产2020观看福利| 欧美激情亚洲国产| 国产精品一区久久久| 欧美成人午夜激情| 2018国产精品视频| 欧美精品在线免费播放| 日韩在线观看电影| 久久露脸国产精品| 国产精品小说在线| 91精品久久久久久久久久久久久久| 九九久久国产精品| 最近免费中文字幕视频2019| 成人在线一区二区| 日韩美女免费观看| 欧美日韩亚洲精品一区二区三区| 久久久久久久久久久人体| 久久久久久久久久久久久久久久久久av| 欧美视频在线观看 亚洲欧| 欧美精品www在线观看| 97精品国产97久久久久久| 欧美成人免费在线视频| 欧美在线免费视频| 成人午夜一级二级三级| 亚洲黄一区二区| 国产精品96久久久久久| 欧美精品videos性欧美| 欧洲成人午夜免费大片| 黄色成人在线播放| 欧美性xxxx18| 中文字幕久热精品视频在线| 正在播放亚洲1区| 91久久国产综合久久91精品网站| 高清一区二区三区日本久| 亚洲一区二区中文| 亚洲中国色老太| 国产亚洲激情视频在线| 亚洲国产精品电影| 成人免费视频a| 国产视频综合在线| 伊人久久大香线蕉av一区二区| 亚洲aaaaaa| 日韩成人激情影院| 欧美理论片在线观看| 国产色视频一区| 亚洲自拍欧美色图| 国产一区av在线| 国产精品日韩欧美大师| 国产成人精彩在线视频九色| 免费av一区二区| 国产91精品在线播放| 国产丝袜一区二区三区免费视频| 欧美激情视频免费观看| 亚洲精品国产精品久久清纯直播| 国内伊人久久久久久网站视频| 亚洲男人天天操| 欧美在线视频免费| 精品久久久国产精品999| 日韩视频在线一区| 日本电影亚洲天堂| 91天堂在线视频| 91精品久久久久久久| 精品欧美aⅴ在线网站| 久久久久久久久久久免费| 4p变态网欧美系列| 亚洲精品之草原avav久久| 亚洲人成网7777777国产| 亚洲第一网站男人都懂| 欧美成人精品一区|