陣列解決約瑟夫環問題
我用的-1,-2作為標緻,前提就是輸入的陣列中沒有-1,-2。如果有這樣的數,那的該用其他作為區分的標緻。之前我一直一起需要刪除已經取出的資料,這樣涉及到陣列的移動,比較耗時,後來發現不需要,只需要改變標緻即可。程式碼如下:
//約瑟夫環問題
//p存放的是標號,n是總的數目,從k開始數,數到m的出列,result存放的結果
void josephus(int p[],int n,int k,int m,int result[])
{
int *data=new int[n+1];
for(int i=0;i<n;i++)
data[i]=p[i];
data[n]=-1;
int index=0,count=0;
for(int j=k-1;index<n;j++)
{
if(data[j]==-1)
j=0;
if(data[j]!=-1&&data[j]!=-2)
count++;
if(count==m)
{
result[index]=data[j];
index++;
count=0;
data[j]=-2;
}
}
}
相關文章
- 約瑟夫環問題——初步瞭解+陣列實現陣列
- 約瑟夫環(陣列實現)陣列
- 約瑟夫環(vector類解決)
- 約瑟夫(Josephus problem)環問題初探
- 約瑟夫環 佇列+連結串列佇列
- 約瑟夫問題pascal程式
- 約瑟夫環遊戲遊戲
- java環形連結串列約瑟夫環問題筆記Java筆記
- 約瑟夫生者死者遊戲問題遊戲
- C語言陣列實現約瑟夫環出圈問題 程式碼詳細註釋 簡單易懂C語言陣列
- 約瑟夫環(Josephus)問題--報數遊戲(連結串列)遊戲
- 連結串列面試題(八)---約瑟夫環面試題
- 【圖解經典演算法題】如何用一行程式碼解決約瑟夫環問題圖解演算法行程
- 面試題—Java遞迴實現約瑟夫環面試題Java遞迴
- 牛客題霸NC132環形連結串列的約瑟夫問題Java題解Java
- P1996 約瑟夫問題996
- javascript中使用迴圈連結串列實現約瑟夫環問題JavaScript
- IOS 約瑟夫環遊戲的實現iOS遊戲
- 實戰資料結構(4)_迴圈單連結串列解決約瑟夫問題資料結構
- 約瑟夫環(超好的程式碼存檔)--19--約瑟夫環--LeetCode面試題62(圓圈最後剩下的數字)LeetCode面試題
- 迴圈連結串列(約瑟夫問題)--python實現Python
- js利用指標操作約瑟夫問題程式碼例項JS指標
- 物件導向程式設計 約瑟夫問題簡要分析物件程式設計
- 用Python實現約瑟夫環演算法Python演算法
- Josephus問題解決方法四(迴圈陣列)陣列
- 洛谷題單指南-線性表-P1996 約瑟夫問題996
- 約瑟夫出圈演算法演算法
- 一個關於JS解決陣列相乘問題JS陣列
- leetcode題解(陣列問題)LeetCode陣列
- 3.2資料結構之指標和連結串列 1748:約瑟夫問題資料結構指標
- 最大子陣列和問題的解陣列
- 解決所有環境問題
- php陣列問題PHP陣列
- 資料結構實驗一:順序表的建立與操作實現、順序表實現約瑟夫環問題資料結構
- distinct 多列問題 group by 解決
- 金幣陣列問題陣列
- java陣列的問題Java陣列
- 面試題:陣列按列排序的問題面試題陣列排序