版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
實驗報告實驗名稱:約瑟夫環(huán)問題實驗類型:綜合性實驗班級:學號:姓名:實驗日期:2014.5.19問題描述設有編號為1,2,…,n的n(n>0)個人圍成一個圈,每個人持有一個密碼m。從第一個人開始報數,報到m時停止報數,報m的人出圈,再從他的下一個人起重新報數,報到m時停止報數,報m的出圈,……,如此下去,直到所有人全部出圈為止。當任意給定n和m后,設計算法求n個人出圈的次序。2.數據結構設計首先,設計實現約瑟夫環(huán)問題的存儲結構。由于約瑟夫環(huán)問題本身具有循環(huán)性質,考慮采用循環(huán)鏈表,為了統(tǒng)一對表中任意結點的操作,循環(huán)鏈表不帶頭結點。將循環(huán)鏈表的結點定義為如下結構類型:typedefstructLNode { intM;LNode*next; } Lnode;3.算法設計(1)建立一個循環(huán)鏈表LNode*create_l(intn){ LNode*L,*p; inti; L=(LNode*)malloc(sizeof(LNode)); L->M=1; L->next=L; for(i=n;i>1;i--) { p=(LNode*)malloc(sizeof(LNode)); p->M=i; p->next=L->next; L->next=p; } returnL; }依次刪除第m個結點,并輸出該節(jié)點的序號intDele(LNode*L,intm){LNode*p,*pre; intj; p=L; pre=L; while(pre->next!=L) pre=pre->next; while(p!=p->next) { for(j=1;j<m;j++) { pre=p; p=p->next; } printf("%d",p->M); pre->next=p->next; free(p); p=pre->next; } printf("%d",pre->M); free(pre); }主函數intmain() { LNode*first; intm,n; printf("Pleaseinputn:"); scanf("%d",&n); printf("Pleaseinputm:"); scanf("%d",&m); create_l(n); first=create_l(n); printf("thedeletenumberis:"); Dele(first,m);}4.程序代碼#include<stdio.h>#include<malloc.h>typedefstructLNode { intM;LNode*next; }LNode; LNode*create_l(intn){ LNode*L,*p; inti; L=(LNode*)malloc(sizeof(LNode)); L->M=1; L->next=L; for(i=n;i>1;i--) { p=(LNode*)malloc(sizeof(LNode)); p->M=i; p->next=L->next; L->next=p; } returnL; }intDele(LNode*L,intm){LNode*p,*pre; intj; p=L; pre=L; while(pre->next!=L) pre=pre->next; while(p!=p->next) { for(j=1;j<m;j++) { pre=p; p=p->next; } printf("%d",p->M); pre->next=p->next; free(p); p=pre->next; } printf("%d",pre->M); free(pre); }intmain() { LNode*first; intm,n; printf("Pleaseinputn:"); scanf("%d",&n); printf("Pleaseinputm:"); scanf("%d",&m); create_l(n); first=create_l(n); printf("thedeletenumberis:"); Dele(first,m);} 5.運行、測試與分析(1)、運行,例如n=5,m=3得出結果實驗收獲及思考考慮不太周全,剛開始沒有考慮到只有一個人或者密碼是1的情況,以后寫程序要考慮周到。而且之前學習的都是算法,這是第一次寫數據結構的實驗。真正第一次將自己的算法用C語言表達并運行出來。所以,紙上學來終覺淺,只有真正實踐過才會了解。思考:采用順序存儲結構如何實現約瑟夫環(huán)問題?建立一個長度為n的順序表,依次刪除第n個元素,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 重點環(huán)節(jié)應急管
- 沈陽理工大學《含能運載材料》2023-2024學年第一學期期末試卷
- 沈陽理工大學《操作系統(tǒng)》2022-2023學年期末試卷
- 沈陽理工大學《環(huán)境工程項目管理》2023-2024學年第一學期期末試卷
- 海南小產權房買賣合同
- 2025屆高考數學統(tǒng)考二輪復習第二部分專題5解析幾何第1講直線與圓教師用書教案理1
- 2024部門經理入職發(fā)言部門經理入職合同范本
- 2024職工住房抵押借款合同范本
- 2024網絡安全服務合同
- 2024水庫承包合同范本范文
- 2024年湖北省公務員考試《行測》真題及答案解析
- 2023年全國社會保障基金理事會招聘考試真題
- 醫(yī)院感染現患率調查方案
- 湖北省十堰市第二中學2024-2025學年七年級上學期期中考試語文試題(含答案)
- 兄妹4人繼承房產協議書范文
- 上海市市轄區(qū)(2024年-2025年小學五年級語文)部編版期中考試(下學期)試卷及答案
- GB/T 44692.2-2024危險化學品企業(yè)設備完整性第2部分:技術實施指南
- 學位英語4000詞(開放大學)
- 項目式學習在小學英語教學中的應用與研究
- 期中測試卷(試題)-2024-2025學年數學六年級上冊北師大版
- 弘揚偉大長征精神-走好今天的長征路課件
評論
0/150
提交評論