国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

單鏈表簡單實現(xiàn)

2019-11-06 06:18:51
字體:
供稿:網(wǎng)友
/** * 單向鏈表 * */public class NodeList<E> { PRivate static class Node<E> { // 節(jié)點類  E data; // 節(jié)點上的數(shù)據(jù)  Node<E> next; // 指向下一個節(jié)點  Node(E e) {   this.data = e;   this.next = null;  } } private Node<E> head; // 鏈表的頭節(jié)點 private Node<E> last; // 鏈表的尾節(jié)點 private Node<E> other = null; private int length = 0; // 節(jié)點數(shù)量 /**  * 無參構(gòu)造方法  */ public NodeList() {  // 默認節(jié)點為空  this.head = new Node<E>(null); } /**  * 初始化時創(chuàng)建一個節(jié)點  *  * @param data  *            數(shù)據(jù)  */ public NodeList(E data) {  this.head = new Node<E>(data);  this.last = head;  length++; } /**  * 添加一個節(jié)點(尾插法)  *  * @param data  *            數(shù)據(jù)  */ public void add(E data) {  if (isEmpty()) {   head = new Node<E>(data);   last = head;   length++;  } else {   Node<E> newNode = new Node<E>(data);   last.next = newNode;   last = newNode;  } } /**  * 獲得索引處的數(shù)據(jù)(索引輸入錯誤拋出越界異常)  * @param index 索引  * @return 索引處數(shù)據(jù)  */ public E get(int index){  if(index<0 || index>length){   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(E oldValue,E newValue){  other = head;  while(other!=null){   if(other.data.equals(oldValue)){    other.data = newValue;    return true;   }   other = other.next;  }  return false; } /**  * 在指定元素后插入一個元素  *  * @param data  *            指定的元素  * @param insertData  *            需要插入的元素  * @return false為未找到元素,true為插入成功  */ public boolean add(E data, E insertData) {  other = head;  while (other != null) {   if (other.data.equals(data)) {    Node<E> newNode = new Node<E>(insertData);    Node<E> temp = other.next;    newNode.next = temp;    other.next = newNode;    length++;    return true;   }   other = other.next;  }  return false; } /**  * 鏈表中是否包含此元素  * @return 包含為true,不包含為false  */ public boolean contains(E data){  other = head;  while(other!=null){   if(other.data.equals(data)){    return true;   }   other = other.next;  }  return false; } /**  * 移除指定的元素  * @param data 需要移除的元素  * @return 不存在為false,成功為true  */ public boolean remove(E data){  other = head;  Node<E> temp = head;  //臨時變量,用于保存前一個節(jié)點  while(other!=null){   if(other.data.equals(data)){    temp.next = other.next;    length--;    return true;   }   temp = other;   other = other.next;  }  return false; } /**  * 判斷鏈表是否為空  *  * @return 空為true,非空為false  */ public boolean isEmpty() {  return length == 0; } /**  * 清空鏈表  */ public void clear() {  this.head = null;  this.length = 0; } /**  * 輸出所有節(jié)點  */ public void printLink() {  if(isEmpty()){   System.out.println("空鏈表");  }else{   other = head;   while (other != null) {    System.out.print(other.data);    other = other.next;   }   System.out.println();  } }}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 奉贤区| 新巴尔虎右旗| 潜山县| 静安区| 子长县| 广饶县| 墨竹工卡县| 扶绥县| 松潘县| 保亭| 芮城县| 平顶山市| 沈丘县| 冕宁县| 江西省| 曲周县| 合江县| 北辰区| 中江县| 崇礼县| 阿瓦提县| 获嘉县| 景东| 布尔津县| 郧西县| 新建县| 龙海市| 武宣县| 永川市| 阳春市| 萨嘎县| 台中市| 昆明市| 镇巴县| 营山县| 长兴县| 石景山区| 屏边| 潜江市| 乌兰浩特市| 东平县|