演算法和資料結構 約瑟夫問題

2021-09-24 20:30:47 字數 1012 閱讀 1564

package com.structure.demo;

import android.os.bundle;

import android.util.log;

public class josephactivity extends activity

}class circlesinglelinkedlist

for (int i = 1; i <= nums; i++) else }}

public void show()

boy curboy = first;

while (true)

curboy = curboy.next;}}

/*** 約瑟夫問題的小孩出圈

* @param startno 開始的小孩的編號

* @param countno 每隔幾個小孩出圈

* @param nums 一共的小孩的個數

*/public void countboy(int startno, int countno, int nums)

//建立輔助指標幫助小孩出圈

boy helper = first;

//建立乙個輔助指標,指向鍊錶的最後

while (true)

helper = helper.next;

}//小孩報數前,先讓first和helper移動到開始報數的位置(startno)

for (int i = 0; i < startno - 1; i++)

//當小孩報數時先讓first和helper同時移動countnum-1次,然後出圈

while (true)

for (int i = 0; i < countno - 1; i++)

log.i("tag", "出圈的小孩的編號是" + first.no);

first = first.next;

helper.next = first;}}

}class boy

}

資料結構與演算法 約瑟夫問題

問題描述 編號為1 2 n 的小朋友圍成一圈,從編號為k 1 k n 的小朋友開始報數,報到m的小朋友出列,該小朋友的下一位重新開始從0開始報數,數到m的小朋友再次出列,依次類推,直到所有小朋友出列。由此產生乙個出列編號的佇列。package 鍊錶 author lyq on 2019 12 23 ...

資料結構與演算法 約瑟夫問題

已知n個人 以編號1,2,3,n分別表示 圍坐在一張圓桌周圍。從編號為k的人開始報數,數到m的那個人出列 他的下乙個人又從k開始報數,數到m的那個人又出列 一詞重複下去。直到圓桌的人全部出列。試用c 程式設計實現 include include include define error 0 type...

資料結構 約瑟夫問題

約瑟夫問題 上課結束,大家聽說第一周沒有程式設計題目,立刻就被鄙視了,為了糾正這個錯誤,咱們本週就來做點簡單題目。本題要求用迴圈鍊錶實現 約瑟夫問題是乙個經典的問題。已知n個人 不妨分別以編號1,2,3,n 代表 圍坐在一張圓桌周圍,從編號為 k 的人開始,從1開始順時針報數1,2,3,順時針數到m...