約瑟夫環(huán)是一個(gè)數(shù)學(xué)的應(yīng)用問(wèn)題:已知n個(gè)人(以編號(hào)1,2,3...n分別表示)圍坐在一張圓桌周?chē)木幪?hào)為k的人開(kāi)始報(bào)數(shù),數(shù)到m的那個(gè)人出列;他的下一個(gè)人又從1開(kāi)始報(bào)數(shù),數(shù)到m的那個(gè)人又出列;依此規(guī)律重復(fù)下去,直到圓桌周?chē)娜巳砍隽?。求出出?duì)序列。
成都創(chuàng)新互聯(lián)公司專(zhuān)注于金水網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供金水營(yíng)銷(xiāo)型網(wǎng)站建設(shè),金水網(wǎng)站制作、金水網(wǎng)頁(yè)設(shè)計(jì)、金水網(wǎng)站官網(wǎng)定制、微信小程序開(kāi)發(fā)服務(wù),打造金水網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供金水網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。
采用鏈表實(shí)現(xiàn),結(jié)點(diǎn)數(shù)據(jù)就是編號(hào)。
package com.dm.test; public class Test2 { public static void main(String[] args) { //頭結(jié)點(diǎn) Node root = new Node(1); int[] order = build(root,9,5); for(int i =0;i<order.length;i++) { System.out.print(order[i]+" "); } } //將約瑟夫環(huán)建成一個(gè)鏈表 public static int[] build(Node root,int n, int m) { Node current = root; for(int i = 2; i<=n; i++) { Node node = new Node(i); current.next = node; current = node; } current.next = root; int[] order = come(root,n,m); return order; } //出隊(duì)列 //結(jié)束條件:只有一個(gè)結(jié)點(diǎn)時(shí),這個(gè)結(jié)點(diǎn)的next是它自身 //將出來(lái)的數(shù),放在一個(gè)數(shù)組中,遍歷數(shù)組就是出隊(duì)序列 public static int[] come(Node root,int n, int m) { int[] order = new int[n]; int j = 0; Node p = root; while(p.next!=p) { int i = 1; while(i<m-1) { p=p.next; i++; } if(i==m-1) { order[j]=p.next.data; j++; p.next = p.next.next; p=p.next; } } order[j]=p.data; return order; } } class Node { int data; Node next; public Node(int data) { this.data = data; next= null; } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
當(dāng)前標(biāo)題:java使用鏈表實(shí)現(xiàn)約瑟夫環(huán)
網(wǎng)站URL:http://aaarwkj.com/article42/goopec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、服務(wù)器托管、App開(kāi)發(fā)、面包屑導(dǎo)航、網(wǎng)站導(dǎo)航、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)