题目要求是这样的:有n个人围成一圈,顺序排好,从第1个人开始报数,从1到3报数,凡是报到3的人退出圈子,之后的报数的人从1开始重新报数,问此圈子最后剩下的是原来第几号的那个人。
此题必须分为两种情况考虑,就是报数的时候,队列中的人数大于2的情况与等于2的情况,当然队列人数为1的时候那个人就是答案了。之所以分两种情况来操作,是因为报数逢3一次循环,队列中的人数大于2,遍历数组的迭代器会可以继续向后...
分类:
其他好文 时间:
2015-08-06 18:29:22
阅读次数:
144
点击打开杭电1873
Problem Description
看病要排队这个是地球人都知道的常识。
不过经过细心的0068的观察,他发现了医院里排队还是有讲究的。0068所去的医院有三个医生(汗,这么少)同时看病。而看病的人病情有轻重,所以不能根据简单的先来先服务的原则。所以医院对每种病情规定了10种不同的优先级。级别为10的优先权最高,级别为1的优先权最低。医生在看病时,则会在他的队伍...
分类:
其他好文 时间:
2015-08-06 07:08:29
阅读次数:
158
#include
#include
#define Data_Type int
#define Queue_Len 5
//判断队满有两种方式,一种是加以个标记,比如说size。
//另一种是浪费一块空间,当占到N-1时,就算满。
typedef struct Queue{
Data_Type data[Queue_Len];
int front;//队头元素的前一个元素
int re...
分类:
编程语言 时间:
2015-08-05 06:41:35
阅读次数:
153
//_DataStructure_C_Impl:顺序循环队列
#include
#include
#define QueueSize 10 //定义顺序循环队列的最大容量
typedef char DataType;
typedef struct Squeue{ //顺序循环队列的类型定义
DataType queue[QueueSize];
int front,rear; //队头指针...
分类:
其他好文 时间:
2015-08-05 06:41:32
阅读次数:
116
//_DataStructure_C_Impl:
#include
#include
#include
typedef char DataType;
typedef struct snode{ //链式堆栈结点类型定义
DataType data;
struct snode *next;
}LSNode;
typedef struct QNode{ //只有队尾指针的链式循环队列类型定义
...
分类:
其他好文 时间:
2015-08-05 06:40:53
阅读次数:
192
思想:图G是不带权的无向连通图,一条边的长度计为1,因此,求带顶点u和顶点v的最短的路径即求顶点u和顶点v的边数最少的顶点序列。利用广度优先遍历算法,从u出发进行广度遍历,类似于从顶点u出发一层一层地向外扩展,当第一次找到顶点v时队列中便包含了从顶点u到顶点v最近的路径,如图所示,再利用队列输出最路径(逆路径),所以设计成非循环队列。
...
分类:
编程语言 时间:
2015-07-18 12:40:05
阅读次数:
358
基于上一节生产者消费者问题--进阶再结合顺序循环队列来实现生产者消费者问题主要变化就是把需要操作的资源变成操作循环队列,代码如下:circularQueue.h#include #include #include #include #include #define FREE(p) \ if (...
分类:
其他好文 时间:
2015-07-15 12:52:18
阅读次数:
103
一 顺序表循环队列1.1 顺序循环队列定义 队列是一种运算受限的先进先出线性表,仅允许在队尾插入(入队),在队首删除(出队)。新元素入队后成为新的队尾元素,元素出队后其后继元素就成为队首元素。 队列的顺序存储结构使用一个数组和两个整型变量实现,其结构如下:1 struct Queue{2 ...
分类:
其他好文 时间:
2015-07-14 17:14:22
阅读次数:
250