日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

用JAVA语言创建链表的方法

發(fā)布時(shí)間:2024/9/30 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用JAVA语言创建链表的方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

鏈表剛學(xué)習(xí)時(shí)是用c來學(xué)習(xí)的,那時(shí)候?qū)τ诮Y(jié)構(gòu)體,指針這些東西實(shí)現(xiàn)鏈表覺得很合適,但想要應(yīng)用到j(luò)ava上還是有些不同的

這里,我學(xué)習(xí)下用java來使用鏈表的方法:

首先,定義節(jié)點(diǎn)類

//鏈表節(jié)點(diǎn) class Node{ protected Node next; protected int data; public ?Node(int data) { ? //構(gòu)造器來賦值 // TODO Auto-generated constructor stub this.data=data; this.next=null; } public Node() {}}

然后,在專門的一個(gè)類中寫鏈表的各種操作,符合java面向?qū)ο蟮脑O(shè)計(jì)

在這里,我們寫下所有的鏈表操作

1.鏈表初始化

public Node Initlink(Node node) { ?//初始化節(jié)點(diǎn) node=new Node(); node.next=null; return node;}

傳入的節(jié)點(diǎn)是你的頭節(jié)點(diǎn),這里我們創(chuàng)建的鏈表是帶頭結(jié)點(diǎn)的,頭結(jié)點(diǎn)不帶信息,方便與鏈表操作

2.創(chuàng)建鏈表

利用while循環(huán),在循環(huán)內(nèi)部創(chuàng)建新節(jié)點(diǎn),利用頭插法插入此節(jié)點(diǎn)(尾插法節(jié)點(diǎn)會(huì)改變),理解與C語(yǔ)言中一樣,注意輸入。public Node createlink(Node node) { ? ?//頭插法創(chuàng)建鏈表
Scanner scanner=new Scanner(System.in);
int data=scanner.nextInt();
?

while (data!=999) { ? ? ? ? ? ? ?//輸入999結(jié)束 Node pNode=new Node(data); pNode.next=node.next; node.next=pNode; data=scanner.nextInt(); }return node;}

3.打印鏈表信息

根據(jù)傳入的頭結(jié)點(diǎn),打印整個(gè)鏈表信息

public void Printlink(Node L) { ? ? ? //打印輸出鏈表 Node node=L.next; while(node!=null) { System.out.println(node.data); node=node.next; }}

寫在這差不多完了。如果實(shí)現(xiàn)鏈表的其他操作,根據(jù)已創(chuàng)建的鏈表去實(shí)現(xiàn)就很容易了。下面給出完整代碼:

package linklist;import java.util.Scanner; //鏈表節(jié)點(diǎn) class Node{ protected Node next; protected int data; public ?Node(int data) { ? //構(gòu)造器來賦值 // TODO Auto-generated constructor stub this.data=data; this.next=null; } public Node() {} } //鏈表方法 class Ways{ public Node Initlink(Node node) { ?//初始化節(jié)點(diǎn) node=new Node(); node.next=null; return node; } public Node createlink(Node node) { ? ?//頭插法創(chuàng)建鏈表 Scanner scanner=new Scanner(System.in); int data=scanner.nextInt();while (data!=999) { ? ? ? ? ? ? ?//輸入999結(jié)束 Node pNode=new Node(data); pNode.next=node.next; node.next=pNode; data=scanner.nextInt(); }return node; } public void Printlink(Node L) { ? ? ? //打印輸出鏈表 Node node=L.next; while(node!=null) { System.out.println(node.data); node=node.next; } } } public class Main {public static void main(String[] args) { // TODO Auto-generated method stub Ways ways=new Ways(); Node L=new Node();L=ways.Initlink(L);System.out.println("請(qǐng)輸入你要?jiǎng)?chuàng)建的鏈表(輸入999結(jié)束):");L=ways.createlink(L);ways.Printlink(L); } }

?

最后是控制臺(tái)結(jié)果:

怎么樣,是不是很符合頭插法的特點(diǎn)呢?

總結(jié)

以上是生活随笔為你收集整理的用JAVA语言创建链表的方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。