




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
//在不確定數據域數值的情況下,采用泛型定義publicclassNode<E>{Edata;//數據域Node<E>next;//指針域}datanext單個節點的表示方法//在不確定數據域數值的情況下,采用泛型定義publicclassLinkList<E>{ Node<E>head;Node<E>p;}datanext單個節點的表示方法datanextdatanextheadnull建立鏈表datanextheadNULLnewnode//說明head頭指針newnode新節點指針newnode.data數據域表示方式newnode.next指針域表示方式NULLnewnode無后繼節點headNULLPNULL初始狀態,無節點
head=NULL;P=NULL;publicLinkList(){head=null;p=null;}初始化datanextheadNULLpnewode建立鏈表publicvoidaddhead(Node<E>e){Node<E>newhead=newNode<E>();newhead.data=e.data;newhead.next=e.next;head=newhead;p=head;p.next=null;}遍歷輸出publicvoidprintlist(){ p=head; if(head==null) {System.out.println("這是一個空鏈表"); }while(p!=null)
{System.out.println(p.data); p=p.next; }}在鏈表后面插入節點datanextheadNULLnewnodedatanextp注意:添加節點后,鏈表的長度+1publicvoidaddlist(Node<E>e){Node<E>newnode=newNode<E>();newnode.data=e.data;newnode.next=e.next;p.next=newnode;p=p.next;p.next=null;}publicstaticvoidmain(String[]args){ScannerAA=newScanner(System.in);LinkList<Integer>obj1=newLinkList<Integer>();Node<Integer>tt=newNode<Integer>();System.out.print("請輸入第1數:");tt.data=AA.nextInt();obj1.addhead(tt);Node<Integer>tb=newNode<Integer>();intk;inti=2;do{System.out.print("請輸入第"+i+"數:");k=AA.nextInt();if(k==0)break;tb.data=k;obj1.addlist(tb);i++;}while(true);此段代碼:表示連續建立多個節點,知道輸入的數字為0,就不再建立新的節點obj1.printlist();System.out.print("請輸入第插入節點的值");tb.data=AA.nextInt();obj1.addnode(tb,2);obj1.printlist();System.out.print("請輸入首節點插入的值");tb.data=AA.nextInt();obj1.addH(tb);obj1.printlist();}單鏈表的插入(1)只定節點后插入新的節點圖示
s.next=p.next;p.next=s;(2)前插結點
(2)只定節點前插入新的節點圖示
s.next=p;q.next=s;單鏈表的刪除
q.next=p.next;p.next=null;單鏈表的按值查找操作 }
單鏈表操作的效率分析
(1)單鏈表是一種順序存取結構,不是隨機存取結構。要訪問任意一個結點ai(1≤i≤n),必須從頭指針head開始,沿著“鏈”的方向逐個查找,執行i-1次p=p.getNext()操作,平均進行n/2次。(2)單鏈表的插入和刪除操作,必須知道其直接前驅結點。(3)與順序表相比,單鏈表中結點的存儲空間是動態申請和釋放的,不需要預先分配。同時,對單鏈表執行插入和刪除操作時,只需要改變相關結點的“鏈”,不需要移動結點。因此,單鏈表在一定程度上可以提高運行效率和存儲空間的利用率。循環鏈表
head是單鏈表的頭指針,設rear是單鏈表的尾指針。將單鏈表中最后一個結點的指針域指回鏈表的頭結點,即rear.next=head,則整個單鏈表頭尾相連形成了一個環,就構成了循環單鏈表。
雙向鏈表
在單鏈表中,從任意一個結點出發都能通
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網絡工程師行業經驗教訓試題及答案
- 成考理科考試題目大全及答案
- 2025年安全與環境工程師考試試題及答案
- java有工作經驗面試題及答案
- 財務報告考試題及答案
- 獸藥藥理學試題及答案
- 雙選崗位面試題及答案
- 高效學習西方政治考試的秘訣試題及答案
- 網絡工程師考試沖刺階段試題及答案
- 西方人口遷移對政治的影響試題及答案
- 燒烤店菜單模板
- 心臟彩超解讀完整版課件
- 門窗安裝質量驗收標準
- 醫學高級職稱評審答辯報告PPT模板
- 文言文常考實詞
- 寶安區義務教育入學申請·集體宿舍證明
- 《園藝植物育種學》試題庫參考答案
- 急診科護理查房中毒-PPT課件
- 寧波市建設工程資料統一用表(2022版)1 通用分冊
- GMP基礎知識(新員工培訓)
- LGJ鋼芯鋁絞線參數
評論
0/150
提交評論