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

首頁 > 編程 > Java > 正文

Java單鏈表的實現代碼

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

下面是小編給大家分享的一個使用java寫單鏈表,有問題歡迎給我留言哦。

首先定義一個Node類

public class Node {protected Node next; //指針域 public int data;//數據域 public Node( int data) { this. data = data; } //顯示此節點 public void display() { System. out.print( data + " "); } }

接下來定義一個單鏈表,并實現相關方法:

public class LinkList {public Node first; // 定義一個頭結點private int pos = 0;// 節點的位置public LinkList() {this.first = null;}// 插入一個頭節點public void addFirstNode(int data) {Node node = new Node(data);node.next = first;first = node;}// 刪除一個頭結點,并返回頭結點public Node deleteFirstNode() {Node tempNode = first;first = tempNode.next;return tempNode;}// 在任意位置插入節點 在index的后面插入public void add(int index, int data) {Node node = new Node(data);Node current = first;Node previous = first;while (pos != index) {previous = current;current = current.next;pos++;}node.next = current;previous.next = node;pos = 0;}// 刪除任意位置的節點public Node deleteByPos(int index) {Node current = first;Node previous = first;while (pos != index) {pos++;previous = current;current = current.next;}if (current == first) {first = first.next;} else {pos = 0;previous.next = current.next;}return current;}// 根據節點的data刪除節點(僅僅刪除第一個)public Node deleteByData(int data) {Node current = first;Node previous = first; // 記住上一個節點while (current.data != data) {if (current.next == null) {return null;}previous = current;current = current.next;}if (current == first) {first = first.next;} else {previous.next = current.next;}return current;}// 顯示出所有的節點信息public void displayAllNodes() {Node current = first;while (current != null) {current.display();current = current.next;}System.out.println();}// 根據位置查找節點信息public Node findByPos(int index) {Node current = first;if (pos != index) {current = current.next;pos++;}return current;}// 根據數據查找節點信息public Node findByData(int data) {Node current = first;while (current.data != data) {if (current.next == null)return null;current = current.next;}return current;}}

最后我們可以通過測試類來做相關測試:

public class TestLinkList {public static void main(String[] args) { LinkList linkList = new LinkList(); linkList.addFirstNode(20); linkList.addFirstNode(21); linkList.addFirstNode(19); //print19,21,20 linkList.add(1, 22); //print19,22,21,20 linkList.add(2, 23); //print19,22,23,21,20 linkList.add(3, 99); //print19,22,23,99,21,20 //調用此方法會print 19,22,23,99,21,20 linkList.displayAllNodes(); }}

至此,對單鏈表的操作就筆記到這里了。

以上所述是小編給大家介紹的Java單鏈表的實現代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 淳安县| 荆门市| 开封市| 嘉兴市| 双鸭山市| 探索| 庆城县| 仲巴县| 彝良县| 浦县| 定结县| 永仁县| 吉隆县| 沈丘县| 固镇县| 兴海县| 崇文区| 双桥区| 石家庄市| 衡阳市| 新乡县| 富蕴县| 崇义县| 泸西县| 六安市| 漳平市| 修武县| 扎鲁特旗| 容城县| 台北县| 鲁甸县| 通榆县| 福鼎市| 玉树县| 黑河市| 项城市| 长兴县| 灵寿县| 新乡市| 枞阳县| 博客|