資料結構 約瑟夫問題,鍊錶

2022-08-26 21:21:24 字數 810 閱讀 7184

1:問題:n個人圍成乙個圈,每個人分別標註為1、2、...、n,要求從1號從1開始報數,報到k的人出圈,接著下乙個人又從1開始報數,如此迴圈,直到只剩最後乙個人時,該人即為勝利者。例如當n=10,k=4時,依次出列的人分別為4、8、2、7、3、10,9、1、6、5,則5號位置的人為勝利者。給定n個人,請你程式設計計算出最後勝利者標號數。(要求用單迴圈鍊錶完成。)

**如下:

#include "

stdafx.h

"#include

#include

typedef

struct

list

linklist;

intmain()

r->next = l->next; //

linklist *p;

p = l->next;//

p指向第乙個鍊錶節點

while (p->next != p) //

/*---刪除節點上人的方法---

*/p->next = p->next->next; //

將該節點從鍊錶上刪除。

p = p->next;

/*---*/}

printf("%d

", p->data);

return0;

}

view code

執行結果:

資料結構 迴圈鍊錶之約瑟夫問題

include include include using namespace std define elemtype string typedef struct lnode lnode,listq 迴圈鍊錶初始化 頭針指lq向最後乙個資料 bool initiallist listq lq ito...

資料結構與演算法 迴圈鍊錶 約瑟夫問題

只是在單鏈表的程式上更改了生成鍊錶,遍歷鍊錶和約瑟夫問題,其他部分功能程式 還沒有更改。但可以使用 include define error 0 define ok 1 define elemtype int define n 10 typedef int status typedef struct...

資料結構 05 單向環形鍊錶 約瑟夫問題

約瑟夫 環形鍊錶解決 小孩丟手絹 author anqi date 2020 4 15 09 54 59 description public class josepfu 建立環形單向鍊錶 class circlesinglelinkedlist 建立乙個輔助指標 幫助完成小孩出圈 boy help...