日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java實現單鏈表反轉的多種方法總結

瀏覽:24日期:2022-08-14 15:55:08

對于單鏈表不熟悉的可以看一下基于Java實現單鏈表的增刪改查

一、原地反轉

1、新建一個哨兵節點下一結點指向頭結點

2、把待反轉鏈表的下一節點插入到哨兵節點的下一節點

反轉之前的鏈表:1?>2?>3?>4>?>5

加入哨兵節點:dummp?>1?>2?>3?>4>?>5

原地反轉:

定義:prev=dummp.next; pcur=prev.next;

prev.next=pcur.next;

pcur.next=dummp.next;

dummp.next=pcur;

pcur=prev.next;

Java實現單鏈表反轉的多種方法總結

Java實現單鏈表反轉的多種方法總結

public Stu_node reverse_list(Stu_node head){if (head.next==null ||head.next.next==null) return null;Stu_node dump = new Stu_node(-1,' ');dump.next=head;Stu_node prev = dump.next;Stu_node pcur = prev.next;while(pcur!=null){ prev.next=pcur.next; pcur.next=dump.next; dump.next=pcur; pcur=prev.next;}return dump.next; }二、新建鏈表頭結點插法

二、新建鏈表頭結點插法:

新建一個頭結點,遍歷原鏈表,把每個節點用頭結點插入到新建鏈表中。最后,新建的鏈表就是反轉后的鏈表。

Java實現單鏈表反轉的多種方法總結

Java實現單鏈表反轉的多種方法總結

public Stu_node reverse_list1 (Stu_node head){//新建一個新的鏈表的頭結點Stu_node dump = new Stu_node(-1,' ');Stu_node pcur = head;//遍歷待反轉鏈表,頭結點插入到新的鏈表中while(pcur!=null){ Stu_node pnext = pcur.next; pcur.next = dump.next; dump.next=pcur; pcur=pnext;}//新鏈表頭結點不是需要返回的數據,因此返回頭結點的下一節點return dump.next; }三、利用棧結構實現鏈表的反轉

由于棧結構存儲數據是先進后出(后進先出)也可以通過棧達到反轉鏈表的目的。

public Stu_node reverse_stack(Stu_node head){Stack<Stu_node> stack = new Stack<>();Stu_node temp = head;//鏈表入棧while(temp!=null){ stack.push(temp); temp=temp.next;}//取出棧中的一個節點當做新的鏈表的頭結點Stu_node new_head = stack.pop();Stu_node cur = new_head;//出站while(!stack.isEmpty()){ Stu_node node = stack.pop(); //將出站的節點指向取消 node.next=null; //將新的鏈表串起來 cur.next = node; cur = node;}return new_head; }四、完整代碼奉上

import java.util.Stack;public class revere_node { public static void main(String[] args) {LinkedNode list= new LinkedNode();Stu_node node1 = new Stu_node(1,'張三');Stu_node node2 = new Stu_node(2,'李四');Stu_node node3 = new Stu_node(3,'王二');Stu_node node4 = new Stu_node(4,'麻子');Stu_node node5 = new Stu_node(5,'趙六');//打印添加節點之前的鏈表list.print();//尾結點添加節點list.add(node1);list.add(node2);list.add(node3);list.add(node4);list.add(node5);//打印添加加點之后的鏈表list.print();System.out.println('-------------------');//定義一個頭結點接收調用函數返回的頭節點Stu_node head = list.reverse_stack(list.head);//遍歷輸出每個節點while (head.next!=null){ System.out.println(head); head=head.next;} }}//定義一個鏈表的操作類class LinkedNode{ //定義一個頭結點 Stu_node head = new Stu_node(-1,' '); //添加鏈表的方法 public void add(Stu_node node){Stu_node temp = head;while(true){ if (temp.next==null)break; temp=temp.next;}temp.next=node; } //打印鏈表 public void print(){Stu_node temp = head.next;if (head.next==null){ System.out.println('此鏈表為空');}while (temp!=null){ System.out.println(temp); temp=temp.next;} } //原地反轉 public Stu_node reverse_list(Stu_node head){if (head.next==null ||head.next.next==null) return null;Stu_node dump = new Stu_node(-1,' ');dump.next=head;Stu_node prev = dump.next;Stu_node pcur = prev.next;while(pcur!=null){ prev.next=pcur.next; pcur.next=dump.next; dump.next=pcur; pcur=prev.next;}return dump.next; } //新建一個新的鏈表,頭結點插入法實現鏈表的反轉 public Stu_node reverse_list1 (Stu_node head){Stu_node dump = new Stu_node(-1,' ');Stu_node pcur = head;while(pcur!=null){ Stu_node pnext = pcur.next; pcur.next = dump.next; dump.next=pcur; pcur=pnext;}return dump.next; } //利用棧實現反轉鏈表 public Stu_node reverse_stack(Stu_node head){Stack<Stu_node> stack = new Stack<>();Stu_node temp = head;//鏈表入棧while(temp!=null){ stack.push(temp); temp=temp.next;}//取出一個節點當做新的鏈表的頭結點Stu_node new_head = stack.pop();Stu_node cur = new_head;//出站while(!stack.isEmpty()){ Stu_node node = stack.pop(); //將出站的節點指向取消 node.next=null; //將新的鏈表串起來 cur.next = node; cur = node;}return new_head; }}//節點類class Stu_node{ int num; String name; Stu_node next; //重寫toString方法,顯示節點數據 @Override public String toString() {return 'Stu_node{' +'num=' + num +', name=’' + name + ’’’ +’}’; } public Stu_node(int num, String name) {this.num = num;this.name = name; }}總結

到此這篇關于Java實現單鏈表反轉的多種方法的文章就介紹到這了,更多相關Java單鏈表反轉方法內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美日韩水蜜桃| 精品美女在线视频| 国产欧美另类| 免费的成人av| 欧美一级二区| 成人羞羞在线观看网站| 日韩影院在线观看| 91午夜精品| 在线天堂中文资源最新版| 日韩精品永久网址| 美女国产一区| 久久免费黄色| 蜜桃tv一区二区三区| 国产精品男女| 亚洲三级网站| 免费久久99精品国产自在现线| 91精品福利观看| 国产精品一级| 午夜在线播放视频欧美| 亚洲欧洲一区| 综合激情婷婷| 国产精品日本欧美一区二区三区| 99亚洲视频| 99精品99| 成人午夜毛片| 伊人久久在线| 丁香婷婷久久| 精品理论电影在线| 福利欧美精品在线| 亚洲在线观看| 日本一区二区高清不卡| 91视频一区| 欧美日韩国产探花| 在线国产一区二区| 另类亚洲自拍| 男女性色大片免费观看一区二区| 久久午夜精品一区二区| 亚洲午夜久久| 91精品丝袜国产高跟在线| 欧美一区91| 久久影院资源站| 久久婷婷亚洲| 中文无码久久精品| 亚州av日韩av| 国产成人精品一区二区免费看京 | 欧美精选一区二区三区| 日韩欧美一区二区三区在线视频| 精品久久福利| 最新亚洲激情| 亚洲毛片在线| 精品国产精品国产偷麻豆| 亚洲视频www| 国产精品久久| 久久国产免费看| 在线综合亚洲| 97成人在线| 日本免费一区二区视频| 91精品国产自产精品男人的天堂| 日韩毛片一区| 97精品国产| 欧美日韩视频一区二区三区| 日日摸夜夜添夜夜添国产精品| 综合五月婷婷| 欧美交a欧美精品喷水| 亚洲成人国产| 欧美日韩91| 老司机免费视频一区二区| 欧美在线观看视频一区| 一本色道久久精品| 在线视频观看日韩| 日本三级亚洲精品| а√天堂8资源中文在线| 天海翼精品一区二区三区| 欧美午夜精品一区二区三区电影| 91免费精品| 久久免费影院| 国产亚洲精aa在线看| 综合干狼人综合首页| 噜噜噜躁狠狠躁狠狠精品视频| 国产欧洲在线| 日韩在线欧美| 欧美日韩在线网站| 狠狠操综合网| 精品免费av在线| 日韩毛片在线| 99热精品在线观看| 国户精品久久久久久久久久久不卡 | 欧美理论视频| 免费美女久久99| 日本视频中文字幕一区二区三区| 国产精品igao视频网网址不卡日韩 | 国产精品一二| 日本一区二区免费高清| 久久婷婷亚洲| 99久久婷婷| 欧美精品中文| se01亚洲视频| 日韩不卡在线观看日韩不卡视频| 麻豆久久一区| 黄色国产精品| 精品国产91| 欧美日韩国产高清| 久久99精品久久久久久园产越南| 福利在线免费视频| 免费看欧美美女黄的网站| 久久99久久人婷婷精品综合| 欧美 日韩 国产一区二区在线视频 | 久久久噜噜噜| 国产亚洲高清在线观看| 欧美丝袜一区| 国产伊人久久| 日韩极品在线观看| 色婷婷久久久| 欧美国产先锋| 亚洲精品成人一区| 亚洲成人精选| 国产精品久久久久9999高清| 欧美午夜不卡| 亚洲播播91| 日韩中文字幕| 中文一区二区| 亚洲性色视频| 神马午夜久久| 三上亚洲一区二区| 免费观看亚洲天堂| 欧美精品国产一区| 蜜桃久久久久久| 国产精品美女久久久| 婷婷精品进入| 日韩不卡免费高清视频| 麻豆精品视频在线观看免费| 日韩欧美2区| 国产精品一站二站| 国产精品久久久久毛片大屁完整版| 99视频在线精品国自产拍免费观看| 国产韩日影视精品| 99在线精品免费视频九九视| 中文精品在线| 日韩中文av| 国产精品扒开腿做爽爽爽软件| 美女精品视频在线| 国产传媒在线观看| 久久一区二区三区喷水| av一区二区高清| 亚洲精品黄色| 免费日韩一区二区三区| 国产粉嫩在线观看| 亚洲一级少妇| 欧美精品黄色| 欧美香蕉视频| 99国产精品自拍| 亚洲一区二区免费看| 亚洲影视一区二区三区| 青草综合视频| 国产亚洲久久| 精品午夜久久| 国产成人精选| 国产精品一卡| 麻豆精品蜜桃| 国产韩日影视精品| 亚洲伊人精品酒店| 亚洲欧洲免费| 成人久久一区| 欧美亚洲国产激情| 国产九一精品| 亚洲精品欧洲| av免费不卡国产观看| 久久国产中文字幕| 精品在线91| 日韩专区欧美专区| 久久久久中文| 欧美黄色网页| 日韩高清在线不卡| 国产精品一级| 日本伊人午夜精品| 亚洲免费资源| 日韩高清成人在线| 日韩成人亚洲| 精品国产18久久久久久二百| 蜜桃一区二区三区在线| 日产欧产美韩系列久久99| 日韩精品国产精品| 欧美日韩一区二区三区不卡视频 | 久久99国产精品视频| 久久99视频| 久久一区二区三区电影| 国产精品99视频| 99日韩精品| 精品久久久亚洲| 91精品二区| 久久不卡日韩美女| 久久aⅴ国产紧身牛仔裤| 亚洲日产国产精品| 日韩va亚洲va欧美va久久| 女同性一区二区三区人了人一 | 久久久久久久久99精品大| 国产精品**亚洲精品| 久久国产精品99国产| 欧美一级一区| 亚洲伊人精品酒店|