这是一道数据结构与算法(C语言版)的题目,希望大家能帮我看看!

30个人做一个船,如何排列?

30个人围成一圈,从1开始报数,报道9的仍到船下,开始继续1到9报数。知道剩下15人位置。如何安排座位,(15个传教士,和15个海盗),仍下的都是海盗。
题目要求是用队列的知识来模仿这个情景,还有题目的意思我不是很懂,如果有懂的,在解答这个题目的时候,顺便能说一下题目的意思!

这道题你百度一下关键字约瑟夫就明白了。
算法思路全部入队,初始值为1,报到9的人设为0,扔掉15个人之后结束。
查看值为零的的位置就是海盗的位置追问

我觉得这个题目一点意思都没有,这很明显被扔下的十五个人的序号肯定是从9到23,我不知道这道题目为什么还用编程?

追答

第一次是9第二次18第三次27第四次是6.。。。怎么会是9到23呢?

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-22
不懂,,会不会是循环队列

c语言的调用问题(数据结构与算法)
5. `isAscending`: 判断三元组是否为升序排列。6. `Max` 和 `Min`: 分别获取三元组中的最大值和最小值。在主函数中,我们首先初始化了一个三元组结构 `t`,并设置元素值为4、5和3。然后输出初始状态的元素值,修改第二个元素为3,判断是否为降序排列,并输出结果。接着,将第三个元素修改为...

数据结构的习题(C语言版)
第一个问题,分析下要求,可以知道要做的事情是合并两个数组到一个数组里去,数组C的长度是AB之和。表C的第一个字符不是A的第一个字符就是B的第一个字符。因此接下来要做的事情就是做一个长度为AB之和的循环,每一次找出A或B中的最小元素,存到C里面去,循环结束,C就自动有了。第二个问题...

数据结构(C语言版)题:由一个栈的输入序列12345,设计算法,分别输出54321...
54321:1~5这5个数连续进栈后再5个数连续出栈,用2个循环就可以了 32145:1~3这3个数连续进栈后再3个数连续出栈,也可以用2个循环,然后是4进4出,5进5出

c语言数据结构与算法。下边的二叉树题中“度为1,2,3,4的结点个数”度...
n0=n2+2*n3+3*n4+1=2+2*1+3*1+1=8。答案A)其中,ni(i=0,1,2,3,4)表示度为i的结点数,叶子结点数为n0,B为树的分支总数。

数据结构(c语言版)题目求答案
3.28 void InitCiQueue(CiQueue&Q)\/\/初始化循环链表表示的队列Q { Q=(CiLNode*)malloc(sizeof(CiLNode));Q->next=Q;}\/\/InitCiQueue voidEnCiQueue(CiQueue&Q,int x)\/\/把元素x插入循环列表表示的队列Q,Q指向队尾元素,Q->next指向头结点,Q->next->next指向队尾元素 { p=(CiLNode*...

初学者求解一道数据结构[c语言版]的题目
题目:已知线性表中的元素以值递增有序排列,并以单链表做存储结构。试写一高效的算法,删除表中所有值大于 mink 且小于 maxk 的元素(若表中存在这样的元素),同时释放 被删除节点空间,并分析你的算法的时间复杂度(注意:mink 和 maxk 是给定的两个 参变量,它们的值可以和表中的元素相同,也...

一份C语言的数据结构题目,急求答案
第一题;Search (BiTree t,ElemType x){ struct nodee;{BiTree pp;int tag;}s[100];int top; Bitree p;top=0; p=t;while(p!=NULL&&p->p!=NULL){while(p!=NULL&&p->data!=x){top++;s[top].pp=p;s[top].tag=0;p=p->lchild;} if(p!=NULL&&p->data==x){for(i=1...

数据结构算法提问:(C语言)
我看了一下,好像没有代码,全称是:《数据结构(C语言版)》配书光盘 DSDemo 数据结构算法演示(Windows版)使 用 手 册 一、 功能简介 本课件是一个动态演示数据结构算法执行过程的辅助教学软件, 它可适应读者对算法的输入数据和过程执行的控制方式的不同需求, 在计算机的屏幕上显示算法执行过程中数据...

关于数据结构的问题,用C语言描述
算法设计大题中,如果作为出题,那么常与数组结合来考查。二、数据结构各章节重点勾划:第0章 概述本章主要起到总领作用,为读者进行数据结构的学习进行了一些先期铺垫。大家主要注意以下几点:数据结构的基本概念,时间和空间复杂度的概念及度量方法,算法设计时的注意事项。本章考点不多,只要稍加注意理解即可。第一章 ...

求解,数据结构与算法
\/\/C语言测试程序#include<stdio.h>#include<stdlib.h>#define SUCCESS 1#define UNSUCCESS 0#define HASHSIZE 11#define NULLKEY -1typedef int Status;typedef struct{ int *elem; int count;}HashTable;int m=0;Status InitHashTable(HashTable *H){ int i; m=HASHSIZE;...

相似回答