#include<conio.h> #include<stdio.h> #include<iostream> #define Size 10 using namespace std; class Joseph{ private: 队列 第一个人 累加器上限 队首 队尾 累加器 public: Joseph() { int i; front = 0; rear = 0; cnt = 0; for(i=0;i<Size;i++){ if((rear+1)%Size-front){ in(i...
#include<conio.h> #include<stdio.h> #include<iostream> #define Size 10 using namespace std; class Joseph{ private: int num[Size];//队列 int first;//第一个人 int top;//累加器上限 int front;//队首 int rear;//队尾 int cnt;//累加器 public: Joseph() { int i; front = 0; rear ...
自己实现队列、循环队列、约瑟夫环问题 1#include<bits/stdc++.h>2usingnamespacestd;3constintN=1e5+5;4/*int ph,pt;//head tail;5int myq[20];//ph==pt队列为空;6//当进行了pop操作Ph会前移,造成空间浪费,可以采用循坏队列优化;78int myq_push(int x)9{10if(pt==15)pt=0;11if(pt!=ph)myq...
1.任意输入队列长度和队列中的元素值,构造一个顺序循环队列,对其进行清空、插入新元素、返回队头元素以及删除队头元素操作.2.约瑟夫环的实现:设有n个人围坐在圆桌周围,现从某个位置 i 上的人开始报数,数到 m 的人就站出来.下一个人,即原来的第m+1个位置上的人,又从1开始报数,再是数到m的人站出来.依次...
import java.util.Map; /** * 约瑟夫环--Java实现 *有N个同学围成一圈,从1开始依次编号,从第P个开始报数,报到第T个时,该同学出列, * 然后从下一个同学开始报数,仍是报到T个出列,如此重复下去, * 直到所有的同学都出列( 总人数不足T个时将循环报数),求同学出列的顺序。 * * @author Administrator...
用循环队列实现约瑟夫环 •小组成员:白翠琴樊福娥孟祥 •任务分工: 算法设计白翠琴 算法实现樊福娥 算法分析孟祥 设计思路 1.首先建立一个循环队列 2.从第i个人开始寻找俘虏,在此之前的人都 从队列头出队,然后在队尾进队. 3.寻找第m个人,则此之前的人出队,然 ...
// 首先确认n个人,并打上标记 int n = 10;// 退出的报数数字 int say = 3;Queue<Integer> qu = new LinkedList<Integer>();for (int i = 0; i < n; i++) { qu.add(i + 1);} // 开始报数技术 int j = 1;int lastMan = 0;while (qu.size() > 0) { lastMan = qu...
// 首先确认n个人,并打上标记 int n = 10;// 退出的报数数字 int say = 3;Queue<Integer> qu = new LinkedList<Integer>();for (int i = 0; i < n; i++) { qu.add(i + 1);} // 开始报数技术 int j = 1;int lastMan = 0;while (qu.size() > 0) { lastMan = qu...
1.任意输入队列长度和队列中的元素值,构造一个顺序循环队列,对其进行清空、插入新元素、返回队头元素以及删除队头元素操作.2.约瑟夫环的实现:设有n个人围坐在圆桌周围,现从某个位置 i 上的人开始报数,数到 m 的人就站出来.下一个人,即原来的第m+1个位置上的人,又从1开始报数,再是数到m的人站出来.依次...
1.任意输入队列长度和队列中的元素值,构造一个顺序循环队列,对其进行清空、插入新元素、返回队头元素以及删除队头元素操作.2.约瑟夫环的实现:设有n个人围坐在圆桌周围,现从某个位置 i 上的人开始报数,数到 m 的人就站出来.下一个人,即原来的第m+1个位置上的人,又从1开始报数,再是数到m的人站出来.依次...