java 數(shù)據(jù)結(jié)構(gòu)單鏈表的實(shí)現(xiàn)
java 數(shù)據(jù)結(jié)構(gòu)單鏈表的實(shí)現(xiàn)
單鏈表實(shí)現(xiàn)鏈表的打印及元素刪除操作,鏈表的實(shí)現(xiàn)主要是next屬性的定義,將一堆節(jié)點(diǎn)關(guān)聯(lián)起來的。實(shí)現(xiàn)簡單的鏈表如下:
public class LinkNode { private int value; private LinkNode next; public LinkNode(int x) { value = x; } public LinkNode getNext(){ return next; } public void setNext(LinkNode next) { this.next = next; } public int getValue() { return value; } }
鏈表操作工具類如下:
public class LinkNodeUtil { public LinkNode deleteNode(LinkNode list,LinkNode node) { //空鏈表 if(node==null||list==null||list.getNext()==null){ return list; } //查找node節(jié)點(diǎn) LinkNode curNode = list; LinkNode preNode = null; LinkNode next = list.getNext(); while(curNode!=null){ if(curNode.getValue()==node.getValue()){//找到 System.out.println("找到待刪除對象了。"+node.getValue()); break; } preNode = curNode; curNode = next; next = next.getNext(); } //刪除node節(jié)點(diǎn) if(preNode==null){ //第一個(gè)元素刪除操作直接修正list為next:curNode-next return next; }else{ //刪除中間節(jié)點(diǎn)中間:preNode-curNode-next preNode.setNext(next); return list; } } public void printListNode(LinkNode list){ LinkNode node = list; while(node!=null){ System.out.println(node.getValue()); node = node.getNext(); } } public static void main(String[] args) { LinkNode n1 = new LinkNode(1); LinkNode n2 = new LinkNode(2); LinkNode n3 = new LinkNode(3); LinkNode n4 = new LinkNode(4); n1.setNext(n2); n2.setNext(n3); n3.setNext(n4); n4.setNext(null); LinkNodeUtil s = new LinkNodeUtil(); s.printListNode(n1); s.printListNode(s.deleteNode(n1, n3)); } }
注意鏈表刪除節(jié)點(diǎn)如果是第一個(gè)節(jié)點(diǎn)的話,直接將鏈表對象賦值給next對象并返回。鏈表的簡單知識,記錄于此。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
- Java數(shù)據(jù)結(jié)構(gòu)之鏈表詳解
- Java數(shù)據(jù)結(jié)構(gòu)之單鏈表詳解
- Java 單鏈表數(shù)據(jù)結(jié)構(gòu)的增刪改查教程
- Java數(shù)據(jù)結(jié)構(gòu)之鏈表、棧、隊(duì)列、樹的實(shí)現(xiàn)方法示例
- Java描述數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)之鏈表的增刪改查詳解
- Java數(shù)據(jù)結(jié)構(gòu)之簡單鏈表的定義與實(shí)現(xiàn)方法示例
- Java數(shù)據(jù)結(jié)構(gòu)之雙端鏈表原理與實(shí)現(xiàn)方法
- 詳解java數(shù)據(jù)結(jié)構(gòu)與算法之雙鏈表設(shè)計(jì)與實(shí)現(xiàn)
- Java數(shù)據(jù)結(jié)構(gòu)之鏈表(動(dòng)力節(jié)點(diǎn)之Java學(xué)院整理)
- java 數(shù)據(jù)結(jié)構(gòu)之刪除鏈表中的元素實(shí)例代碼
- JAVA 數(shù)據(jù)結(jié)構(gòu)鏈表操作循環(huán)鏈表
- Java 數(shù)據(jù)結(jié)構(gòu)鏈表操作實(shí)現(xiàn)代碼
- Java模擬有序鏈表數(shù)據(jù)結(jié)構(gòu)的示例
- Java模擬單鏈表和雙端鏈表數(shù)據(jù)結(jié)構(gòu)的實(shí)例講解
- java數(shù)據(jù)結(jié)構(gòu)之實(shí)現(xiàn)雙向鏈表的示例
- java實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)單鏈表示例(java單鏈表)
- Java數(shù)據(jù)結(jié)構(gòu)之鏈表的增刪查改詳解
相關(guān)文章
spring-@Autowired注入與構(gòu)造函數(shù)注入使用方式
這篇文章主要介紹了spring-@Autowired注入與構(gòu)造函數(shù)注入使用方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12IDEA下載并大學(xué)生edu郵箱認(rèn)證免費(fèi)使用教程(圖文)
這篇文章主要介紹了IDEA下載并大學(xué)生edu郵箱認(rèn)證免費(fèi)使用教程(圖文),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07java、spring、springboot中整合Redis的詳細(xì)講解
這篇文章主要介紹了java、spring、springboot中整合Redis的詳細(xì)講解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04Java常用正則表達(dá)式驗(yàn)證類完整實(shí)例【郵箱、URL、IP、電話、身份證等】
這篇文章主要介紹了Java常用正則表達(dá)式驗(yàn)證類,結(jié)合完整實(shí)例形式分析了Java針對郵箱、網(wǎng)址URL、IP地址、電話、身份證等正則驗(yàn)證相關(guān)操作技巧,需要的朋友可以參考下2018-12-12SpringSecurity整合jwt權(quán)限認(rèn)證的全流程講解
這篇文章主要介紹了SpringSecurity整合jwt權(quán)限認(rèn)證的全流程講解,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06