C語言迴圈單鏈表實現約瑟夫(JosephUS)問題

2021-10-01 08:55:25 字數 1441 閱讀 8399

主要思路是:建立頭結點--賦值--建立中間節點--賦值---建立尾結點--賦值。本次採用的迴圈鍊錶中的數字都是順序賦值。

node *create_josephus(int n)

p = head;

p->data = 1;

p->next = null;

for (i = 2; i < n; i++)

new_node = (node*)malloc(sizeof(node));

new_node->data = n;

new_node->next = null;

p->next = new_node;

p = p->next;

p->next = head;

} return head;

}

需要注意的是最後尾結點的輸出。

迴圈單鏈表實現約瑟夫問題

一堆猴子都有編號,編號是1,2,3 m,這群猴子 m個 按照1 m的順序圍坐一圈,從第1開始數,每數到第n個,該猴子就要離開此圈,這樣依次下來,直到圈中只剩下最後乙隻猴子,則該猴子為大王。本題實現 輸出出佇列的順序的編號1.節點類package yosepfu program 3.鍊錶的相關操作 d...

C語言單鏈表實現約瑟夫環

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

C語言單鏈表實現約瑟夫環

前兩天朋友給我發來乙個題目,問我能不能用c語言鍊錶實現。13個人圍成一圈,從第1個人開始順序報號1,2,3。凡報到 3 者退出圈子,找出最後留在圈子中的人原來的序號。要求用鍊錶實現。看了題目以後發現其實是約瑟夫環,是乙個數學應用問題。約瑟夫環又稱為約瑟夫問題 丟手絹問題。一群人圍在一起坐成環狀,從某...