《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)三報告13網(wǎng)二吳睿_第1頁
《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)三報告13網(wǎng)二吳睿_第2頁
《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)三報告13網(wǎng)二吳睿_第3頁
《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)三報告13網(wǎng)二吳睿_第4頁
《數(shù)據(jù)結(jié)構(gòu)》實(shí)驗(yàn)三報告13網(wǎng)二吳睿_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

江西師范大學(xué)計算機(jī)信息工程學(xué)院學(xué)生實(shí)驗(yàn)報告專業(yè)_網(wǎng)絡(luò)工程2班姓名_吳睿_學(xué)號1308093095日期__2014.10.30課程名稱數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)室名稱X4313c實(shí)驗(yàn)名稱帶頭結(jié)點(diǎn)的單鏈表指導(dǎo)教師左正康成績實(shí)驗(yàn)?zāi)康睦斫鈳ь^結(jié)點(diǎn)的單鏈表的特點(diǎn),掌握采用這種數(shù)據(jù)結(jié)構(gòu)的算法設(shè)計熟練掌握運(yùn)用帶頭結(jié)點(diǎn)鏈表表示特定形式的數(shù)據(jù)的方法,并設(shè)計出有關(guān)算法實(shí)驗(yàn)原理和內(nèi)容基于slnklist.h文件中定義的單鏈表表,完成實(shí)驗(yàn)1~9。實(shí)驗(yàn):編寫函數(shù)voiddelx(linklisthead,datatypex),刪除帶頭結(jié)點(diǎn)單鏈表head中第一個值為x的結(jié)點(diǎn)。假設(shè)線性表(a1,a2,a3,…an)采用帶頭結(jié)點(diǎn)的單鏈表存儲,請設(shè)計算法函數(shù)linklistreverse(linklisthead),將帶頭結(jié)點(diǎn)的單鏈表head就地倒置,使表變成(an,an-1,…a3.a2,a1)。假設(shè)帶頭結(jié)點(diǎn)的單鏈表head是升序排列的,設(shè)計算法函數(shù)linklistinsert(linklisthead,datatypex),將值為x的結(jié)點(diǎn)插入到鏈表head中,并保持鏈表有序性。編寫算法函數(shù)linklistdelallx(linklisthead,intx),刪除帶頭結(jié)點(diǎn)單鏈表head中所有值為x的結(jié)點(diǎn)。已知線性表存儲在帶頭結(jié)點(diǎn)的單鏈表head中,請設(shè)計算法函數(shù)voidsort(linklisthead),將已知兩個帶頭結(jié)點(diǎn)的單鏈表L1和L2中的結(jié)點(diǎn)值均已按升序排序,設(shè)計算法函數(shù)linklistmergeAscend(linklistL1,linklistL2)將L1和L2合并成一個升序的帶頭結(jié)單鏈表作為函數(shù)的返回結(jié)果;設(shè)計算法函數(shù)linklistmergeDescend(linklistL1,linklistL2)將L1和L2合并成一個降序的帶頭結(jié)單鏈表作為函數(shù)的返回結(jié)果head中的結(jié)點(diǎn)按結(jié)點(diǎn)值升序排列。設(shè)計一個算法linklistinterSection(linklistL1,linklistL2),求兩個單鏈表表示的集合L1和L2的交集,并將結(jié)果用一個新的帶頭結(jié)點(diǎn)的單鏈表保存并返回表頭地址。請編寫一個算法函數(shù)voidpartion(linklisthead),將帶頭結(jié)點(diǎn)的單鏈表head中的所有值為奇數(shù)的結(jié)點(diǎn)調(diào)整到鏈表的前面,所有值為偶數(shù)的結(jié)點(diǎn)調(diào)整到鏈表的后面。編寫一個程序,用盡可能快的方法返回帶頭結(jié)點(diǎn)單鏈表中倒數(shù)第k個結(jié)點(diǎn)的地址,如果不存在,則返回NULL。實(shí)驗(yàn)步驟在visualC++6.0中進(jìn)行編程,調(diào)試,完成實(shí)驗(yàn)。程序及運(yùn)行結(jié)果(或?qū)嶒?yàn)數(shù)據(jù)記錄及分析)實(shí)驗(yàn)1:linklistdelx(linklisthead,datatypex){ linklistp=head->next,pre=head,q; inti=0; while(p!=NULL&&i==0){ if(p->info==x){ q=p; p=p->next; pre->next=p; free(q); i=1; }else{ pre=p; p=p->next; i=0; } }returnhead;}實(shí)驗(yàn)2linklistreverse(linklisthead){ linklistp,q; p=head->next; head->next=NULL; while(p!=NULL){ q=p->next; p->next=head->next; head->next=p; p=q; } returnhead;}實(shí)驗(yàn)3linklistinsert(linklisthead,datatypex){ linklistp,q; q=head; p=(linklist)malloc(sizeof(node)); p->info=x; while(q->next->info<x&&q->next!=NULL){ q=q->next; } p->next=q->next; q->next=p; returnhead;}:實(shí)驗(yàn)4linklistdelallx(linklisthead,intx){linklistp=head->next,pre=head,q; while(p!=NULL){ if(p->info==x){ q=p; p=p->next; pre->next=p; free(q); }else{ pre=p; p=p->next; } }returnhead;}實(shí)驗(yàn)5voidsort(linklisthead)//插入法排序{ linklistp,q,qpre,pnext; p=head->next; head->next=NULL; while(p!=NULL){ qpre=head; q=head->next; while(q!=NULL&&q->info<=p->info){ qpre=q; q=q->next; } pnext=p->next; p->next=qpre->next; qpre->next=p; p=pnext; }}實(shí)驗(yàn)6linklistmergeAscend(linklistL1,linklistL2){linklisthead,tmp=NULL;linklisthead1=L1,head2=L2;head=(linklist)malloc(sizeof(node)); head->next=NULL;if(L1->next->info>L2->next->info)//哪個鏈表第一個節(jié)點(diǎn)值小,則把它的頭指針作為合并后的頭指針{head1=L2;head2=L1;}head->next=head1->next;while(head2!=NULL){while((head1->next->info<head2->info)&&head1->next!=NULL){head1=head1->next;}tmp=head2;head2=head2->next;tmp->next=head1->next;head1->next=tmp;}returnhead;}實(shí)驗(yàn)7linklistinterSection(linklistL1,linklistL2){linklistp1,p2,p3,L3,r;L3=r=(linklist)malloc(sizeof(node));L3->next=NULL;p1=L1->next;while(p1!=NULL){p2=L2->next;while((p2!=NULL)&&(p2->info!=p1->info))p2=p2->next;if((p2!=NULL)&&(p2->info==p1->info)){p3=(linklist)malloc(sizeof(node)); //L3=L3->next;p3->info=p1->info;r->next=p3;r=p3; }p1=p1->next;}//print(L3); r->next=NULL; returnL3;}實(shí)驗(yàn)8voidpartion(linklisthead){ linklistp,s,pre; pre=head; p=head->next; while(p) { if(p->info%2==0) { pre=p; p=p->next; } else { s=p; pre->next=p->next; p=pre->next; s->next=NULL; s->next=head->next; head->next=s; } }}實(shí)驗(yàn)9linklistsearch(linklisthead,intk

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論