亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

Java 實現鏈表結點插入

瀏覽:29日期:2022-08-17 10:45:01

PS:鏈表是一種數據結構,而數據結構就是一種存放數據的方式。

為什么需要鏈表?

我們知道,數組也可以存儲數據,那么為什么還需要鏈表呢?接下來,我們來看看數組 和鏈表的區別:

1、數組就像身上編了號站成一排的人,要找第10個人很容易,根據人身上的編號很快就能找到。但插入、刪除慢,要往某個位置插入或刪除一個人時,后面的人身上的編號都要變。當然,加入或刪除的人始終末尾的也快。

2、鏈表就像手牽著手站成一圈的人,要找第10個人不容易,必須從第一個人一個個數過去。但插入、刪除快。插入時只要解開兩個人的手,并重新牽上新加進來的人的手就可以。刪除一樣的道理。

鏈表示意圖

Java 實現鏈表結點插入

鏈表的建立

class TestLink{//創建一個外部類private Entry head;//指向頭結點的引用public TestLink(){head = new Entry();//用結點類 new 一個頭結點}class Entry{//Entry 創建一個結點內部類int data;//定義數據塊Entry next;//定義地址塊public Entry(){//構造方法1data = -1;//對結點數據塊初始化next = null;//對地址初始化}public Entry(int val){//構造方法2data = val;//對數據塊賦值next = null;}}}public class TestDemo2 {public static void main(String[] args) {TestLink testlink = new TestLink();//創建一個 鏈表外部類 對象 }}

頭插法:從頭插入

public void insertHead(int val){ //有這么一個結點 Entry cur = new Entry(val); cur.next = head.next; head.next = cur; }

頭插法示意圖:

Java 實現鏈表結點插入

尾插法:從尾插入

public void insertTail(int val){//找到尾巴Entry cur = head;while(cur.next != null){//遍歷結點cur = cur.next;}Entry entry = new Entry(val);//得到的結點cur.next = entry;}

尾插法示意圖:

Java 實現鏈表結點插入

從任意結點插入

public boolean insertPos(int val,int pos){ //1、判斷pos的合法性 if(pos < 0 || pos >= getLength()+1){ return false; } Entry cur = head; for(int i = 0;i <= pos-1;i++){ cur = cur.next; } //cur pos的前一個 Entry entry = new Entry(val); entry.next = cur.next; cur.next = entry; return true; }

示意圖:

Java 實現鏈表結點插入

完整代碼:

package LianBiao;class TestLink1{private Entry head;//指向頭結點的引用public TestLink1(){head = new Entry();}class Entry{//Entry Node int data;Entry next;public Entry(){data = -1;next = null;}public Entry(int val){data = val;next = null;}}public void insertHead(int val){//有這么一個結點 Entry cur = new Entry(val);cur.next = head.next;head.next = cur;/*head.next = cur;cur.next = head.next;*/}public void insertTail(int val){//找到尾巴Entry cur = head;while(cur.next != null){cur = cur.next;}Entry entry = new Entry(val);//得到的結點cur.next = entry;}//得到單鏈表的長度:public int getLength(){int len = 0;Entry cur = head.next;while(cur != null){len++;cur = cur.next;}return len;}//將數據插入到指定位置public boolean insertPos(int val,int pos){//1、判斷pos的合法性if(pos < 0 || pos >= getLength()+1){return false;}Entry cur = head;for(int i = 0;i <= pos-1;i++){cur = cur.next;}//cur pos的前一個Entry entry = new Entry(val);entry.next = cur.next;cur.next = entry;return true;}////show()public void show(){/*Entry cur = head;while(cur.next != null){System.out.println('data:'+cur.next.data);cur = cur.next;}*/Entry cur = head.next;while(cur != null){System.out.println('data:'+cur.data);cur = cur.next;}}}public class LianBiao1 {public static void main(String[] args) {// TODO Auto-generated method stubTestLink1 testlink = new TestLink1();testlink.insertTail(1330);testlink.insertTail(110);//1330 110 testlink.insertPos(10,0);//10 1330 110if(testlink.insertPos(32,10000)){System.out.println('插入成功');}else{System.out.println('插入失敗');}//10 32 1330 110testlink.show();System.out.println(testlink.getLength());}}

輸出結果:

Java 實現鏈表結點插入

補充:java中創建鏈表,實現鏈表的尾部插入

我就廢話不多說了,大家還是直接看代碼吧~

package test;//目標:創建鏈表,實現鏈表結點的尾部插入class Node_5{ private String data; public Node_5 nextNode; public void setData(String indata){ this.data=indata; } public String getData(){ return this.data; } public void setNextNode(Node_5 newNode){ this.nextNode=newNode; } public Node_5 getNextNode(){ return this.nextNode; } public void addData(String indata){ setData(indata); Node_5 node_5=new Node_5(); Node_5 head=node_5; if(node_5.getData()==null){ node_5.setData(indata); System.out.println(node_5.getData()); } else{ node_5.setNextNode(node_5);node_5.setData(indata); System.out.println(node_5.getData()); } } }public class T_5 { public static void main(String[] args) { // TODO Auto-generated method stub Node_5 node_5=new Node_5(); for(int i=1;i<=3;i++){ node_5.addData('第'+i+'結點'); } }}

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Java
相關文章:
主站蜘蛛池模板: 97色伦图片97综合影院久久 | 久久99国产精一区二区三区! | se视频在线观看 | 91成人免费在线视频 | 免费观看欧美一级高清 | 久久久国产精品免费看 | 国产精品免费一区二区三区四区 | 欧美成人免费午夜全 | 中文一区二区在线观看 | 午夜成年 | 色婷婷在线视频观看 | 久久午夜综合久久 | 草草影院ccyy免费看片 | 1000部18未成人禁止国产 | 欧美一级毛片在线看视频 | 欧美黄色片在线播放 | 久久精品影视 | 视色4se影院在线播放 | 日韩欧美精品一区二区三区 | 欧美精品亚洲精品日韩专区 | 永久精品免费影院在线观看网站 | 51国产在线 | 国产精品jvid在线观看 | 95视频在线播放 | 你懂的国产精品 | 国产亚洲精品美女一区二区 | 日韩久久网 | 最新黄色在线 | 亚洲日本在线免费观看 | 二级特黄绝大片免费视频大片 | 国产高清国产专区国产精品 | 亚洲欧美日韩中文综合v日本 | 国产欧美成人免费观看视频 | 国产成人福利色视频 | 国产 日韩 欧美 在线 | 成人免费福利视频 | 国产一在线 | 做爰全过程免费的视69频 | 美国一级特黄aa大片 | 午夜在线免费视频 | 日韩精品欧美视频 |