單向鏈表總結(jié)_第1頁
單向鏈表總結(jié)_第2頁
單向鏈表總結(jié)_第3頁
單向鏈表總結(jié)_第4頁
單向鏈表總結(jié)_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單向鏈表總結(jié)單向鏈表總結(jié)讓你的手機休息一會兒,讓你的心讓你的手機休息一會兒,讓你的心思回歸課堂一會兒。思回歸課堂一會兒。鏈表 不帶頭結(jié)點單鏈表不帶頭結(jié)點單鏈表 帶頭節(jié)點單鏈表帶頭節(jié)點單鏈表 不帶頭結(jié)點循環(huán)單鏈表不帶頭結(jié)點循環(huán)單鏈表 帶頭結(jié)點循環(huán)單鏈表帶頭結(jié)點循環(huán)單鏈表a0a1firsta0a1firsta0a1firsta0a1first單鏈表單鏈表循環(huán)鏈表循環(huán)鏈表表尾結(jié)點鏈表尾結(jié)點鏈域指向表頭域指向表頭結(jié)點結(jié)點表尾結(jié)點鏈表尾結(jié)點鏈域指向頭結(jié)域指向頭結(jié)點點鏈表的表示(1 1)結(jié)點的表示)結(jié)點的表示templatestruct LinkNode T data; LinkNode* next;鏈表

2、的表示不帶頭結(jié)點鏈表的表示不帶頭結(jié)點鏈表的表示帶頭結(jié)點鏈表的表示帶頭結(jié)點鏈表的表示templateclass Listprivate: LinkNode * first;templateclass Listprivate: LinkNode * first;鏈表的表示不帶頭結(jié)點循環(huán)單鏈表不帶頭結(jié)點循環(huán)單鏈表帶頭結(jié)點循環(huán)單鏈表帶頭結(jié)點循環(huán)單鏈表templateclass Listprivate: LinkNode * first; LinkNode* last;templateclass Listprivate: LinkNode * first; LinkNode* last;空鏈表不帶頭結(jié)點

3、單鏈表不帶頭結(jié)點單鏈表帶頭結(jié)點單鏈表帶頭結(jié)點單鏈表first=NULL;first=new LinkNode();空鏈表不帶頭結(jié)點循環(huán)單鏈表不帶頭結(jié)點循環(huán)單鏈表帶頭結(jié)點循環(huán)單鏈表帶頭結(jié)點循環(huán)單鏈表first=last=NULL;first=new LinkNode();first-next=first;first=last;鏈表的遍歷不帶頭結(jié)點單鏈表不帶頭結(jié)點單鏈表帶頭結(jié)點單鏈表帶頭結(jié)點單鏈表LinkNode* iter=first;while(iter) coutdatanext;LinkNode *iter=first-next;while(iter) coutdatanext;鏈表的遍歷

4、不帶頭結(jié)點循環(huán)單鏈表不帶頭結(jié)點循環(huán)單鏈表帶頭結(jié)點循環(huán)單鏈表帶頭結(jié)點循環(huán)單鏈表LinkNode* iter=first;if(!iter) return;do coutdatanext; while(iter!=first)LinkNode *iter=first-next;while(iter!=first) coutdatanext;返回鏈表中第i個結(jié)點的位置不帶頭結(jié)點單鏈表不帶頭結(jié)點單鏈表帶頭結(jié)點單鏈表帶頭結(jié)點單鏈表LinkNode* iter=first;int cnt=0;while(iter) cnt+ if(cnt=i) return iter; iter=iter-next;re

5、turn iter;LinkNode *iter=first;int cnt=-1;while(iter) cnt+; if(cnt=i) return iter; iter=iter-next;return iter;返回鏈表中第i個結(jié)點的位置不帶頭結(jié)點循環(huán)單鏈表不帶頭結(jié)點循環(huán)單鏈表帶頭結(jié)點循環(huán)單鏈表帶頭結(jié)點循環(huán)單鏈表LinkNode* iter=first;if(!iter) return NULL;int cnt=0; do cnt+; if(cnt=i) return iter; iter=iter-next; while(iter!=first)return NULL;LinkNod

6、e *iter=first;int cnt=-1;do cnt+; if(cnt=i) return iter; iter=iter-next; while(iter!=first)return NULL;在鏈表第i個位置插入結(jié)點不帶頭結(jié)點單鏈表不帶頭結(jié)點單鏈表帶頭結(jié)點單鏈表帶頭結(jié)點單鏈表LinkNode* newNode=new LinkNode(elem);if(i=1) newNode=first-next; first=newNode; return true; LinkNode* pre=Locate(i-1);newNode-next=pre-next;pre-next=newNo

7、de;return true;LinkNode* pre=Locate(i-1);LinkNode* newNode=new LinkNode(elem);newNode-next=pre-next;pre-next=newNode;在鏈表第i個位置插入結(jié)點不帶頭結(jié)點循環(huán)單鏈表不帶頭結(jié)點循環(huán)單鏈表帶頭結(jié)點循環(huán)單鏈表帶頭結(jié)點循環(huán)單鏈表LinkNode* newNode=new LinkNode(elem);if(i=1) newNode=first-next; first=newNode; if(first=last) last=newNode; return true; LinkNode* p

8、re=Locate(i-1);newNode-next=pre-next;pre-next=newNode;if(pre=last) last=pre-next;return true;LinkNode* pre=Locate(i-1);LinkNode* newNode=new LinkNode(elem);newNode-next=pre-next;pre-next=newNode;if(pre=last) last=pre-next;在鏈表第i個位置刪除結(jié)點不帶頭結(jié)點單鏈表不帶頭結(jié)點單鏈表帶頭結(jié)點單鏈表帶頭結(jié)點單鏈表LinkNode* del;if(i=1) del=frist; fir

9、st=del-next; delete del; return true; LinkNode* pre=Locate(i-1);del=pre-next;pre-next=del-next;delete del;return true;LinkNode* del;LinkNode* pre=Locate(i-1);del=pre-next;pre-next=del-next;delete del;return true;在鏈表第i個位置刪除結(jié)點不帶頭結(jié)點循環(huán)單鏈表不帶頭結(jié)點循環(huán)單鏈表帶頭結(jié)點循環(huán)單鏈表帶頭結(jié)點循環(huán)單鏈表LinkeNode* del;if(i=1) del=first; firs

10、t=del-next; if(del=last) last=first; delete del; return true; LinkNode* pre=Locate(i-1);del=pre-next;pre-next=del-next;if(last=del) last=pre; delete del;return true;LinkNode* del;LinkNode* pre=Locate(i-1);del=pre-next;pre-next=del-next;if(last=del) last=pre;delete del;return true;頭插法不帶頭結(jié)點單鏈表不帶頭結(jié)點單鏈表

11、帶頭結(jié)點單鏈表帶頭結(jié)點單鏈表LinkNode* newNode= new LinkNode(elem);newNode-next=frist; first=newNode;LinkNode* newNode= new LinkNode(elem);newNode-next=frist-next; first-next=newNode;頭插法不帶頭結(jié)點循環(huán)單鏈表不帶頭結(jié)點循環(huán)單鏈表帶頭結(jié)點循環(huán)單鏈表帶頭結(jié)點循環(huán)單鏈表LinkeNode* newNode= LinkNode(elem);newNode-next=first;first=newNode;if(last=first) last=new

12、Node;LinkeNode* newNode= LinkNode(elem);newNode-next=first-next;first=newNode;if(last=first) last=newNode;尾插法不帶頭結(jié)點單鏈表不帶頭結(jié)點單鏈表帶頭結(jié)點單鏈表帶頭結(jié)點單鏈表LinkNode* newNode= new LinkNode(elem);if(first=NULL) first=newNode;LinkNode* iter=first;while(iter-next) iter=iter-next;iter-next=newNode;LinkNode* newNode= new LinkNode(elem);LinkNode* iter=first;while(iter-next) iter=iter-next;iter-next=newNode;尾插法不帶頭結(jié)點循環(huán)單鏈表不帶頭結(jié)點循環(huán)單鏈表帶頭結(jié)點循環(huán)單鏈表帶頭結(jié)點循環(huán)單鏈表LinkeNode* newNode=

溫馨提示

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

評論

0/150

提交評論