約瑟夫環 C語言單項迴圈鍊錶

2021-05-23 12:19:45 字數 662 閱讀 8724

約瑟夫環(c語言單項迴圈鍊錶)

約瑟夫環 問題描述:約瑟夫問題的一種描述是:編號為1,2,…,n的n個人按順時針方向圍坐一圈,每人持乙個密碼(正整數)。一開始任選乙個正整數作為報數上限值m,從第乙個人開始按順時針方向自1開始順序報數,報到m時停止報數。報m的人出列,將他的密碼作為新的m值,從他在順時針方向上的下乙個人開始重新從1報數,如此下去,直至所有人全部出列為止。試設計乙個程式求出出列順序。 基本要求 利用單向迴圈鍊錶儲存結構模擬此過程,按照出列的順序印出各人的編號。 測試資料m的初值為20;n=7,7各人的密碼依次為3,1,7,2,4,8,4,首先m值為6(正確出棧順序為6,1,4,7,2,3,5) 下面是**:直接複製執行即可..

#include

#include

using namespace std;

struct node

;int main()

else

cout<<"請輸入第"《個人的密碼: ";

cin>>(p->code);

p->no=i;

}p->next=first; //讓表尾指向表頭形成迴圈鍊錶

p=first;

cout<<"出列順序為: ";

for (j=1;j<=n;j++)

cout<

約瑟夫環 C 單項迴圈鍊錶

約瑟夫問題的一種描述是 編號為1 2,n的n個人按順時針方向圍坐一圈,每人持乙個密碼 正整數 一開始任選乙個正整數作為報數上限值m,從第乙個人開始按順時針方向自1開始順序報數,報到m時停止報數。報m的人出列,將他的密碼作為新的m值,從他在順時針方向上的下乙個人開始重新從1報數,如此下去,直至所有人全...

約瑟夫環 C語言 單迴圈鍊錶

約瑟夫環 問題描述 編號為1,2,n的n個人圍坐一圈,每人持乙個密碼 正整數 一開始任選乙個正整數作為報數上限值m,從第乙個人開始自1開始順序報數,報到m時停止。報m的人出列,將他的密碼作為新的m值,從他的下乙個人開始重新從1報數,如此下去,直至所有人全部出列為止。試設計乙個程式求出列順序。問題分析...

約瑟夫環問題 C語言迴圈鍊錶

一 問題描述 約瑟夫環問題是乙個數學的應用問題 已知n個人 以編號1,2,3.n分別表示 圍坐在一張圓桌周圍。從編號為k的人開始報數,數到m的那個人出列,他的下乙個人又開始報數,數到m的那個人又出列,依次規律重複下去,圓桌周圍的人全部出列。二 演算法原理 約瑟夫環運作如下 1 一群人圍坐在一起成環狀...