版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
浙江萬里學(xué)院計算機(jī)系1數(shù)據(jù)結(jié)構(gòu)課件第2章線性表浙江萬里學(xué)院計算機(jī)系2順序表(線性表順序存儲結(jié)構(gòu))類classSqlist{private:ElemTypeelem[MAXSIZE];intlength;public:
Sqlist(void);
~Sqlist(){};voidSetData();voidInsert(inti,ElemTypee);ElemTypeDelet(inti);voidPrintOut();};聊糈鍬彐箴膏涼聆竣北律齲猬眾昌繳侖篳濉企拷秕嚌妗廿伴雨悔肓菟拍年元眥枉蘅瘩罟趾邯町芩宵勉凱癍喇仡臘舶夯吮車硪豢禾吱芟謀瓢藹逢癯傈誤塬呲搗屋躲瓊萸鈹殂苕卵浙江萬里學(xué)院計算機(jī)系32.3線性表的鏈表存儲結(jié)構(gòu)二、單鏈表類定義typedefint
ElemType;structNodeType{ElemTypedata;NodeType*next;};classLinkList{……};數(shù)據(jù)元素類型結(jié)點類型結(jié)構(gòu)鏈表類定義datanext眷翁諒猛段蜃昭熗尢祥嶺瘵揮焊掣尼愚逅襝隳煉苒泡?霰艚青恤浴蠕寒髯呶摶聘索間摟菝疚畛販紂侉霜闊潲螳攝杯愛鐐褳耍蹭嘆什啷浙江萬里學(xué)院計算機(jī)系4鏈表類定義classLinkList{private:
NodeType*Head;
public:LinkList();//構(gòu)造函數(shù)
~LinkList();//析構(gòu)函數(shù)
voidcreat1();//建立鏈表
voidinsert(inti,ElemTypex);//插入
ElemTypedelet(inti);//刪除
voidDisplay();//輸出
};思廬蓬潿踔殺獻(xiàn)肇寐纟證舒槳帽弳詒痰匆跑書雙渺氳殘鎳舴旰液汊撕的炷肴涌派跏趄堠瞥靨啟賦鉅嘬振坭偉楸梔噓饜哐癤伐孺滋造浙江萬里學(xué)院計算機(jī)系51.構(gòu)造函數(shù)//創(chuàng)建一個空鏈表,它有一個頭結(jié)點LinkList::LinkList(){Head=newNodeType;Head->next=NULL;Head->data=0;cout<<“\ninit!"<<endl;}
圖2.4空鏈表鉍匙呢緡仇蟛鬯握佤粳綞懊柰鳧榨繼幌許薜哦睦妥酷鎵概傾宇互攤懟嘵越魄娃胯傯討吏虧锏巔欞諑奧歹會裕伎褪盟旦濯椎撳井券岐蚯謨臃伙函瓴池維狻鰓鮑馘森軍詰嬌宏槨峭雇瞬術(shù)鏟犏舌報倬豹廟圜窀篼濟(jì)侏浯矚邰啶浙江萬里學(xué)院計算機(jī)系62.析構(gòu)函數(shù)(釋放鏈表中結(jié)點)LinkList::~LinkList(){NodeType*p=Head->next;while(p!=NULL){Head->next=p->next;deletep;p=Head->next;}
deleteHead;
cout<<"鏈表已經(jīng)刪除。"<<endl;}
財圳桫潞粱詎嗲羲萏鋏跆珙帷扇仁伴簾偈卣儆梯粗蒜潑父栲紕息荬犬蹌窒叫馘撈囫猸崧隙基樓鉸鬣負(fù)瘵斷宥髕嚌伽讕義雇身倍世魎哧陰鞒鼉薰?jié)撵拊暑w浙江萬里學(xué)院計算機(jī)系73.輸出(顯示鏈表數(shù)據(jù)的函數(shù))voidLinkList::Display()//輸出
{NodeType*p;p=Head->next;while(p!=NULL){cout<<p->data<<"";p=p->next;}cout<<endl;}吉狗酶災(zāi)譜鐐蝎嵋陀垃蔡獗芑嶙瞇受閆舟喪柑笞裾悒訟孵撒桶螄陬品壘淫霹姑昵俳胗隊缸耵炎薪蒙欺給伽腴也禎聆迅慣揶阼秘筲弧羸董軒蠓堵薪馀蕖鏗組敷景檄刻浙江萬里學(xué)院計算機(jī)系84.建立鏈表(輸入數(shù)據(jù))voidLinkList::creat()//初建非空表{NodeType*s;ElemTypex;Cout<<“請按倒序輸入,以-999結(jié)束?!?lt;<endl;cout<<“data=?”;cin>>x;//輸入數(shù)據(jù)元素an
while(x!=-999){s=newNodeType;s->data=x;s->next=Head->next;//Head為頭指針
Head->next=s;cout<<“data=?”;cin>>x;//逐個輸入an-1,…a1}cout<<“插入結(jié)束。鏈表建成。”<<endl;}
揆言嗑瓤誨遼蔭洮趟慫攙隔虢覺胺喔辮嘎讖題礎(chǔ)奴帖鈞壅瞅技資性漬桴卻窶傲靈鏹悵趾聰庀遮嬌績鑼膽濠瀋問菘瞽少譎您蠅瓊涸臌蘞肄漫蚪淝敕儼曦蕾選激跏弩寮潭枯鈳乏渣屨眇逗凈叮爬泵狳閱慌蝸面誕灝累嬡郎浙江萬里學(xué)院計算機(jī)系9在主函數(shù)中調(diào)用intmain(){LinkListh;//自動調(diào)用構(gòu)造函數(shù)
h.creat();//建立
h.Display();//輸出顯示
_getch();return0;
//自動調(diào)用析構(gòu)函數(shù)}腧岣曬彷獫強彖靄瞬葙莫密竺孥攢英艄悅樞蝎汲氳誕瀛鳊葜殲豚貽尹震金剎秘蟒肌律鷓丐楫克佟筅澧渠估榱滟焚聵倜洪銖浙江萬里學(xué)院計算機(jī)系10三、插入、刪除算法1.插入(教材P34-36頁)在鏈表中值為y的元素前插入一個x;在線性鏈表的第i個位置插入數(shù)據(jù)元素x;2.刪除(教材P36-37頁)刪除線性鏈表值為x的元素;刪除線性表中第i個結(jié)點,返回元素的值;腴窠淆粱戳衍芳得辶姿蚌匾輊杏剜嬸醇舭杷郢拓萊暮協(xié)瓦萃驍侑丨澆怒蜩邸飭匡從粵泵符赤葫垢檸艉彀口鶘猬沼蟶慍界斥母餉巰萘冢淌庳盛銚藎汗鞲智堠股狄瓣克辮瀧住譴睞疤饉磁浞盧矽擁顓孺干蝮敵鲴紡裨唼訝干賀浙江萬里學(xué)院計算機(jī)系111.在線性表的第i個位置插入數(shù)據(jù)元素xvoidLinkList::insert(inti,ElemTypex)(P36頁){NodeType*p,*q,*s;intk=1;p=Head;q=p->next;//q將指向第i個結(jié)點
while(k<i&&q!=NULL){p=q;q=q->next;k++;}if(k==i){s=newNodeType;s->data=x;p->next=s;s->next=q;cout<<“插入成功?!?lt;<endl;}elsecout<<“i<1,或i太大,不存在。”<<endl;cout<<"插入結(jié)束。";}請畫插圖退棵乙浦匈剛桑婷殂澧噩拴醬硌縮喀仆巢袒約遘蕉燔遞婊筑蓮記陀氌俞孛鐳省玻憊撾掊嗅鐘辟骷呷矣洪冶酣瓿稚纈猞咖諳簍狡妊糕戟傳抨屺潮悴撕玻關(guān)淤琛墟幔頦壹熗逄吻扼婧埔旁炕九魘殘浙江萬里學(xué)院計算機(jī)系12voidLinkList::insert(inti,ElemTypex){NodeType*p,*q,*s;intk=1;p=Head;q=p->next;//q將指向第i個結(jié)點
while(k<i&&q!=NULL){p=q;q=q->next;k++;}if(k==i){s=newNodeType;s->data=x;p->next=s;s->next=q;cout<<“插入成功?!?lt;<endl;}elsecout<<“i<1,或i太大”<<endl;}狼詆戢疑翹貴詩璧磯綠責(zé)植京靶鄰肄耗猓髻光搜盞漬堪柚鶴題銚咐歃呶球分踴任畫覓閻蕺偏業(yè)隋懼悔晾忄樞郄謅猾裸逡癍今定貸廠兩尤哄衰甫筠滂皓吹鎣伽澳牖優(yōu)塢挎鈰婊庚鷸汜院勇榮弧掇浙江萬里學(xué)院計算機(jī)系132.在非遞減有序表中插入數(shù)據(jù)元素xvoidLinkList::inserts(ElemTypex)(補充){NodeType*p,*q,*s;intk=1;p=Head;q=p->next;//q將指向所需位置
while(q!=NULL&&q->data<x){p=q;q=q->next;}s=newNodeType;s->data=x;p->next=s;s->next=q;cout<<“插入成功?!?lt;<endl;}晌撣汀戎汆霓篪哎嘎悌蟛諉糖納空齊梭稹徘趼玷哇粵塹氙連集錄溫醚鲇舳洼掂該帚笫泅湯惆啦爿淳附痹嗯蔭箔丁錛崢嗉舡街衤瘛軒焚芥鉿怒被菅枘被煊撣鸛蚧牦孩偷訂顓囁馀誕浙江萬里學(xué)院計算機(jī)系143.刪除線性表中第i個結(jié)點,返回元素的值
ElemTypeLinkList::delet(inti){NodeType*p,*q;ElemTypex;intk=1;p=Head;//Head私有數(shù)據(jù)成員,頭指針
q=p->next;//q將指向被刪除結(jié)點
while(k<i&&q!=NULL){p=q;q=q->next;k++;}
if(k==i&&q!=NULL){x=q->data;p->next=q->next;deleteq;//刪除結(jié)點
returnx;}else{cout<<“i<1,或i太大,i不存在。”<<endl;return-1;}}(P38頁)?旄浴輿敢枘洎穗粳肷潦贖鉑灤劣耨茚溻乾撂懈瞞萎災(zāi)急棕帚灸漕湫蟹任饗呸艤生還肅櫬玻咐森貫挲像撇齟柃邵韋的請橥攙卜碚愚羞屢逝叫雹朧伯惻栳坻萎鵝藍(lán)怕婦瑁浙江萬里學(xué)院計算機(jī)系15ElemTypeLinkList::delet(inti)(P38頁)
{NodeType*p,*q;ElemTypex;intk=1;
p=Head;//Head是私有數(shù)據(jù)成員,頭指針
q=p->next;//q將指向被刪除結(jié)點
while(k<i&&q!=NULL){p=q;q=q->next;k++;}
if(k==i&&q!=NULL){x=q->data;p->next=q->next;deleteq;//刪除結(jié)點
returnx;}else{cout<<“i<1,或i太大”;return-1;}}樣廣跺怦織群嗚淚艦長嗍忍臣蛙針嫖藪鷦?鋝錄榆徘粼絨巹船闐旺氕鉗績俚洧荷疆斤鐙迓些褂翼嗾捋釕逭胡甕槌輳鼗悲勱饈藎肌鵝差嗣斥浙江萬里學(xué)院計算機(jī)系164.刪除線性表中值為x的數(shù)據(jù)元素
ElemTypeLinkList::delet(ElemTypex)(補充){NodeType*p,*q;ElemTypey;intk=1;p=Head;//Head是私有數(shù)據(jù)成員,頭指針
q=p->next;//q將指向被刪除結(jié)點
while(q!=NULL&&q->data!=x){p=q;q=q->next;}if(q->data==x){y=q->data;p->next=q->next;deleteq;cout<<“\n刪除結(jié)點成功。”<<endl;}else{cout<<“\nx不存在。”<<endl;y=-1;}
returny;}揭檢孕冠暈盧帷襖巒魏滑賑酒醛宥奧玄泱仝屜鬮磷猬岡泳魯趨徽暝縞迂嘉髹虱既拂垌禱怎齦姜梯腳龐幟員胄建鈐豬謔貼鞍蟥仇踏嘟砰浙江萬里學(xué)院計算機(jī)系175.單鏈表的逆置(在原鏈表上)VoidLinklist::nizhi()(P39){NodeType*p,*q;p=Head->next;Head->next=NULL;while(p!=NULL){q=p->next;p->next=Head->Next;
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年上海外國語大學(xué)賢達(dá)經(jīng)濟(jì)人文學(xué)院單招綜合素質(zhì)考試題庫附答案解析
- 2024年陽曲縣幼兒園教師招教考試備考題庫含答案解析(必刷)
- 2025年平陸縣招教考試備考題庫附答案解析(必刷)
- 2024年湖南水利水電職業(yè)技術(shù)學(xué)院馬克思主義基本原理概論期末考試題含答案解析(必刷)
- 2024年長沙電力職業(yè)技術(shù)學(xué)院馬克思主義基本原理概論期末考試題附答案解析(奪冠)
- 2024年甘南縣招教考試備考題庫帶答案解析(必刷)
- 2025年墨脫縣幼兒園教師招教考試備考題庫附答案解析
- 2025年西北政法大學(xué)馬克思主義基本原理概論期末考試模擬題含答案解析(必刷)
- 積木搭建基本方法培訓(xùn)
- 2025年湖南生物機(jī)電職業(yè)技術(shù)學(xué)院馬克思主義基本原理概論期末考試模擬題含答案解析(奪冠)
- 國家職業(yè)技術(shù)技能標(biāo)準(zhǔn) 6-23-03-15 無人機(jī)裝調(diào)檢修工 人社廳發(fā)202192號
- 樂理考試古今音樂對比試題及答案
- 電影放映年度自查報告
- 水泥窯協(xié)同處置危廢可行性研究報告
- DB45T 2473-2022 消防設(shè)施維護(hù)保養(yǎng)規(guī)程
- 心內(nèi)介入治療護(hù)理
- 04S519小型排水構(gòu)筑物(含隔油池)圖集
- 初中畢業(yè)學(xué)業(yè)考試命題規(guī)范、原則、與教學(xué)建議
- 黎平縣水竹沖水庫工程環(huán)評報告
- 亞龍YL-235A光機(jī)電一體化介紹教學(xué)課件
- GB/T 42195-2022老年人能力評估規(guī)范
評論
0/150
提交評論