資料結構課程設計 (一)線性結構(約瑟夫環)

2021-10-11 17:17:57 字數 1189 閱讀 8945

joseph環

任務:編號是1,2,…,n的n個人按照順時針方向圍坐一圈,每個人只有乙個密碼(正整數)。一開始任選乙個正整數作為報數上限值m,從第乙個仍開始順時針方向自1開始順序報數,報到m時停止報數。報m的人出列,將他的密碼作為新的m值,從他在順時針方向的下乙個人開始重新從1報數,如此下去,直到所有人全部出列為止。設計乙個程式來求出出列順序。

要求:利用單向迴圈鍊錶儲存結構模1擬此過程,按照出列的順序輸出各個人的編號。

測試資料:m的初值為20,n=7 ,7個人的密碼依次為3,1,7,2,4,7,4,首先m=6,則正確的輸出是什麼?

要求:輸入資料:建立輸入處理輸入資料,輸入m的初值,n ,輸入每個人的密碼,建立單迴圈鍊錶。

輸出形式:建立乙個輸出函式,將正確的輸出序列

資料結構:

typedef struct node

node, *linklist;

基本操作:初始化單鏈表;給每個人賦密碼;確定需要處理的人數;確定開始的上限值;得到正確的順序;輸出結果。

利用單向迴圈鍊錶實現。

#include

using

namespace std;

typedef

struct node

lnode;

lnode *

buildring

(int m,

int n)

//建立單向迴圈鍊錶

}return head;

}void

print

(lnode *head)

//只是檢視建立完的樣子

}void

testing

(lnode *head,

int m,

int n)

printf

("%d "

,p->num)

; out++

; stop=p-

>code;

lnode *del=p;

p=p-

>next;

pre-

>next=p;

//刪除數到的節點

free

(del)

; count=1;

}}intmain()

僅用於記錄位置的節點也要申請空間,否則也會出錯。

資料結構課程設計

資料結構課程設計 include define n 30 include include includeusing namespace std struct node typedef node phone,mingzi node hashnumble node hashname int hash1 ...

資料結構課程設計

小明是乙個計算機專業top student 祝賀他畢業了。並準備到銀行參加工作。上班第一天,經理叫他編制乙個實現乙個活期儲蓄處理程式,算作考查。上班第一天,一定要給領導乙個好印象,小明二話沒說,就答應了。現要你是小明了,請完成如下題目功能。儲戶開戶 銷戶 存入 支出活動頻繁,系統設計要求 1 能比較...

資料結構課程設計

一 實訓目的 通過課程設計,學會運用資料結構知識,針對具體應用,自己設計合理資料結構,確定儲存結構,並能設計具體操作演算法,選擇使用具體語言進行實現。掌握c 較複雜程式的組織和設計過程,除錯技巧。學習解決實際問題的能力。題目1.小明是乙個計算機專業top student,祝賀他畢業了。並準備到銀行參...