北理工數(shù)據(jù)結(jié)構(gòu)上機(jī)實(shí)驗(yàn)報(bào)告_第1頁(yè)
北理工數(shù)據(jù)結(jié)構(gòu)上機(jī)實(shí)驗(yàn)報(bào)告_第2頁(yè)
北理工數(shù)據(jù)結(jié)構(gòu)上機(jī)實(shí)驗(yàn)報(bào)告_第3頁(yè)
北理工數(shù)據(jù)結(jié)構(gòu)上機(jī)實(shí)驗(yàn)報(bào)告_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、數(shù)據(jù)結(jié)構(gòu)上級(jí)實(shí)驗(yàn)報(bào)告1采用單向環(huán)表實(shí)現(xiàn)約瑟夫環(huán)一 實(shí)驗(yàn)?zāi)康牟捎脝蜗颦h(huán)表實(shí)現(xiàn)約瑟夫環(huán)二 實(shí)驗(yàn)內(nèi)容 請(qǐng)按以下要求編程實(shí)現(xiàn): 從鍵盤輸入整數(shù)m,通過(guò)create函數(shù)生成一個(gè)具有m個(gè)結(jié)點(diǎn)的單向環(huán)表。環(huán)表中的結(jié)點(diǎn)編號(hào)依次為1,2,m。 從鍵盤輸入整數(shù)s(1=s0;m-) p = (node *)malloc(sizeof(node); if(p = NULL) exit(0); p-number = m; p-next = head-next; head-next = p; if(i)q = p ; i-; q-next = head-next; 處理鏈表算法實(shí)現(xiàn):void deal(node * he

2、ad,int m,int s,int n)node * p,*q;int count=1,tag=0; p = head; while(s-) p = p-next; while(tag != m) if(count = n) printf(%d-,p-number); for(q = p-next; q-next != p; q=q-next); q-next = p-next; p = p-next; q = q-next; count = 1; tag+; else p = p-next;count+; printf(next = NULL; head = p; printf(pleas

3、e input number m:n); scanf(%d,&m); create(head,m); printf(please input number s(1=snext從p后節(jié)點(diǎn)遍歷的方法能夠一直正確的獲得p的前一節(jié)點(diǎn)的位置。五 用戶使用說(shuō)明 雙擊exe程序后,軟件提示依次輸入m,s,n的值;m為鏈表總長(zhǎng)度,為任意正整數(shù);s為第一次定位的節(jié)點(diǎn)位置,其值應(yīng)滿足1=s=m的正整數(shù);n為間隔的數(shù)目,為任意正整數(shù);輸入后即可獲得結(jié)果。六 程序運(yùn)行結(jié)果七 程序清單#include #include struct node/定義鏈表 int number; struct node * next;vo

4、id create(node * head,int m)/創(chuàng)建包含m個(gè)數(shù)字的環(huán)形表node * p,*q;int i = 1; for(;m0;m-) p = (node *)malloc(sizeof(node); if(p = NULL) exit(0); p-number = m; p-next = head-next; head-next = p; if(i)q = p ; i-; q-next = head-next;/將最后一個(gè)節(jié)點(diǎn)指向頭結(jié)點(diǎn),實(shí)現(xiàn)環(huán)形表void deal(node * head,int m,int s,int n)/處理鏈表,完成刪除及輸出node * p,*q;

5、int count=1,tag=0; p = head; while(s-) p = p-next;/將p指向首次定位的第s個(gè)節(jié)點(diǎn) while(tag != m) if(count = n)/如果正好數(shù)到n值,則進(jìn)行輸出、刪除操作并重置計(jì)數(shù)器 printf(%d-,p-number); for(q = p-next; q-next != p; q=q-next); q-next = p-next; p = p-next; q = q-next; count = 1; tag+; else p = p-next;count+;/如果沒有到n值,則繼續(xù)循環(huán)鏈表 printf(next = NULL; head = p;/定義頭結(jié)點(diǎn) printf(please input number m:n); scanf(%d,&m);/輸入m值鏈表長(zhǎng)度 create(head,m);/創(chuàng)建該鏈表 printf(please input number s(1=s=m):n); scanf(%d,&s);/輸入s值首次定位節(jié)點(diǎn) printf(please

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論