Java_循環(huán)鏈表.docx_第1頁
Java_循環(huán)鏈表.docx_第2頁
Java_循環(huán)鏈表.docx_第3頁
Java_循環(huán)鏈表.docx_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)已經(jīng)三天,剛開始自然遇到線性表。其中線性表內(nèi)含順序表和鏈表。順序表較為簡單,僅僅需要一個(gè)數(shù)組就可以完成,當(dāng)然最好也要添加一個(gè)表示長度的數(shù)據(jù)成員,如size。而鏈表,顯然比較多變看,小可不才,用了將近三天的時(shí)間才能明白,不能不說見笑于大方之家;皆因鏈表之中還有循環(huán)鏈表,雙向鏈表,雙向循環(huán)鏈表。好了,言歸正傳:循環(huán)鏈表的程序奉上:鏈表,不過增(insert)刪(delete)改(update)查(select)而已。在于Java程序中,還要加上構(gòu)造(Java有垃圾回收機(jī)制,故沒有析構(gòu),但可以手動(dòng)回收)。先看代碼如下:1、關(guān)于構(gòu)造函數(shù),小生理解到:需要什么樣的初始化,就寫出什么樣的構(gòu)造函數(shù),當(dāng)然,沒有時(shí)也可以構(gòu)造一個(gè)空的構(gòu)造函數(shù);本人就節(jié)點(diǎn)有一個(gè)構(gòu)造函數(shù)2、在方法中,注意index的具體代表就行。其中,在找上一節(jié)點(diǎn)時(shí),很多重復(fù)了,可以另外寫入一個(gè)函數(shù)中。3、最后只是一個(gè)測試形式的,可以自己設(shè)置4、自認(rèn)為一個(gè)比較簡單的程序了package link;class Node public int num;public Node next;public Node(int num, Node next) this.num = num;this.next = next;public class CycleList public Node head;public int size;public void insertHead(int element) /在頭結(jié)點(diǎn)的地方插入if(size = 0)head = new Node(element, null);head. next = head;else Node no = head;head = new Node(element, no);size +;public void insert(int index, int element) /插入元素if (size = 0) head = new Node(element, head); else if (index size) index = size;Node no1 = head;for (int i = 0; i index - 1; i+) no1 = no1.next;Node no2 = new Node(element, no1.next);no1.next = no2;size+;public void delete(int index) / 刪除函數(shù)if (index size) index = size;Node no3 = head;for (int i = 0; i index - 1; i+) no3 = no3.next;no3.next = no3.next.next;size-;public void select() / 查詢所有元素int sizelong = size;Node no4 = head;for (int i = 0; i sizelong; i+) System.out.print(no4.num);no4 = no4.next;public void update(int index, int element) /更換index位置的內(nèi)容Node no7 = head;for(int i=0; iindex-1; i+)no7 = no7.next;no7.num = element;public void sel(int index) /查詢index位置的內(nèi)容Node no8 = head;for(int i=0; iindex-1; i+)no8 = no8.next;System.out.println(no8.num);public static void main(String args) CycleList cl = new CycleList();cl.insert(0, 4); / index 代表第幾個(gè)后面,當(dāng)然,第0個(gè)后面,即為插頭節(jié)點(diǎn)cl.insert(2, 2); / 無論插入還是刪除cl.insert(3, 5); /更改很準(zhǔn)確cl.insert(4, 6); / 查詢單個(gè)也是可以的cl.insert(5, 9);cl.select();System.out.print( -);cl.insert(0, 8); cl.select();System.out.print( -);cl.insertHead(3);cl.select();System.out.println(-);cl.de

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論