用順序表解決約瑟夫環(huán)問題_第1頁
用順序表解決約瑟夫環(huán)問題_第2頁
用順序表解決約瑟夫環(huán)問題_第3頁
用順序表解決約瑟夫環(huán)問題_第4頁
用順序表解決約瑟夫環(huán)問題_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機科學與工程學院算法與數(shù)據(jù)結構試驗報告一專業(yè)班級試驗地點學生學號指導教師學生姓名試驗時間試驗項目算法與數(shù)據(jù)結構試驗類別基礎性() 設計性() 綜合性() 其它( )試驗目的及要求(1) 掌握用VC+上機調(diào)試線性表的基本方法; (2)掌握順序表的存儲結構以及基本運算的實現(xiàn)。成 績 評 定 表類 別評 分 標 準分值得分合 計上機表現(xiàn)積極出勤、遵守紀律主動完成設計任務30分程序與報告程序代碼規(guī)范、功能正確報告詳實完整、體現(xiàn)收獲70分備注: 評閱教師: 日 期: 年 月 日試 驗 內(nèi) 容 一、實驗目的和要求1、實驗目的:(1)掌握用VC+上機調(diào)試線性表的基本方法; (2)掌握順序表的存儲結構以及

2、基本運算的實現(xiàn)。2、實驗內(nèi)容約瑟夫環(huán)問題:設編號為1,2,3,n的n(n>0)個人按順時針方向圍坐一圈,m為任意一個正整數(shù)。從第一個人開始順時針方向自1起順序報數(shù),報到m時停止并且報m的人出列,再從他的下一個人開始重新從1報數(shù),報到m時停止并且報m的人出列。如此下去,直到所有人全部出列為止。要求設計一個程序模擬此過程,對任意給定的m和n,求出出列編號序列。3、實驗要求:用順序表實現(xiàn)。2、 設計分析根據(jù)實驗要求,采用順序表來完成本次實驗。實驗中采用一維數(shù)組屁【】,先將n個人的編號存入到p0pn-1。從編號為1的人 (下標t=0)開始循環(huán)報數(shù),數(shù)到m的人(下標t=(t+m-1)%i)pt,輸

3、出并將其從數(shù)組中刪除(即將后面的元素前移一個位置),每次報數(shù)的起始位置就是上次報數(shù)的出列位置。反復執(zhí)行直到出列n個人為止。3、 源程序代碼#include<stdio.h>#include<stdlib.h>#include <iostream.h>#define MaxSize 100typedef struct Listint dataMaxSize;int length;*Sqlist;void InitList(Sqlist &L)L=(Sqlist)malloc(sizeof(Sqlist);L->length=0;void Crea

4、teList(Sqlist &L) int n; printf("您想輸入的人數(shù)為:");scanf("%d",&n);printf("最初的順序表為:n");for(int i=0;i<n;i+)L->datai=i+1;printf("%d ",L->datai);L->length=n;printf("n");void josephus(Sqlist &L,int m)int i,j,t;t=0; printf("最后的順序表為:&

5、quot;);for(i=L->length;i>=1;i-) t=(t+m-1)%i;printf("%d ",L->datat);for(j=t+1;j<=i-1;j+)L->dataj-1=L->dataj;printf("n");void main()int tt;Sqlist L;InitList( L);CreateList(L);printf("您想出列的序號為:");scanf("%d",&tt);josephus(L,tt);四、測試用例(盡量覆蓋所有分支) 1.當n>m且n%m!=0時,即當n不是m的倍數(shù)時:n=12,m=5時約瑟夫環(huán)的實驗結果為2.當n>m且n%m=0時,即當n是m的倍數(shù)時:n=15,m=5時約瑟夫環(huán)的實驗結果為3. 當n<m且n%m=0時,即當n是m的約數(shù)時:n=4,m=12時約瑟夫環(huán)的實驗結果

溫馨提示

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

評論

0/150

提交評論