java資料結構之鍊錶

2021-08-29 13:19:05 字數 1805 閱讀 8791

1,節點說明:

package pku.ss.datastructure.linkedlist;

public class listnode

listnode(object theelement, listnode n)

object element; //節點中的元素

listnode next; //指向下乙個節點

}

2,列舉器類

package pku.ss.datastructure.linkedlist;

/*** 是乙個列舉器(iterator)類,它提供了用於讀取元素的方法 linkedlistitr儲存

* 對listnode物件的乙個引用,它代表列舉器 的位置

* * @author jacken

*/public class linkedlistitr

/*** 判斷當前節點是否是最後乙個節點

* @return true or false

*/public boolean ispastend()

/*** 返回當前節點的元素值

* @return 當前節點的元素值

*/public object retrieve()

/*** 將當前節點往後推後乙個節點

*/public void advance()

listnode current;

}

3,鍊錶類

package pku.ss.datastructure.linkedlist;

public class linkedlist

/*** 判斷鍊錶是否為空

* @return true or false

*/public boolean isempty()

/*** 將鍊錶置空

*/public void makeempty()

/*** 返回頭節點的列舉器

* @return 頭節點列舉器

*/public linkedlistitr zeroth()

/*** 返回第乙個節點的列舉器

* @return 第乙個節點的列舉器

*/public linkedlistitr first()

/*** 查詢指定元素

* @param x

* @return 所查詢元素的列舉器

*/public linkedlistitr find(object x)

/*** 刪除指定元素

* @param x

*/public void remove(object x)

/*** 查詢指定元素的頭乙個節點

* @param x

* @return 指定元素的頭乙個節點的列舉器

*/public linkedlistitr findprevious(object x)

/*** 在p幾點後面插入乙個節點,節點的元素值為x

* @param x

* @param p

*/public void insert(object x, linkedlistitr p)

/*** 列印指定鍊錶

* @param thelist

*/public static void printlist(linkedlist thelist) else

}private listnode header;

}

Java資料結構之鍊錶反轉

思路很簡單,定義乙個類,這個類分成2塊,一塊是表示自身的標誌,另外乙個儲存指向下乙個元素的引用。通過互換相鄰兩個節點的引用來達到鍊錶反轉的效果。上 package com.withiter.test public class reverselist public static node add st...

JAVA 資料結構之雙向鍊錶

啊,寫完了雙端之後,雙向就好寫多了,重點是改變結點的next指向的時候,一定要一起把previous改了,並且要注意可能在last結點處進行指向修改時存在的的null情況。package linklist 結點定義 class doublynode public void display 寫乙個雙向...

Java資料結構 鍊錶

博主q q 656358805,歡迎線上交流!public class mylinklist public void addnode type data 預設在鍊錶最後新增乙個結點 addindex.next temp temp.pre addindex this.size system.out.p...