如果用一个循环数组q[0..m-1]表示队列时,该队列只有一个队列头指针front,不设队列尾指针rear,求这个队列中从队列投到队列尾的元素个数(包含队列头、队列尾)。
#include <iostream>
using namespace std;//循环队列(少用一个空间)长度
#define M (8+1)typedef struct node {int index;int nextIndex;
} Node;Node* init(int front, int len) {//限制少用一个空间,没有限制少用一个下标,所以front>M-1if (front > M - 1 || len > M - 1) {return NULL;}Node* nodes = new Node[len];for (int i = 0, j = front; i < len; ++i, ++j) {nodes[i].index = j % M;nodes[i].nextIndex = (j + 1) % M;}return nodes;
}void printDescription(Node* nodes, int len) {if (nodes) {for (int i = 0; i < len; ++i) {cout << "index: " << nodes[i].index << " nextIndex: "<< nodes[i].nextIndex << endl;}/**循环队列(少用一个空间)长度计算公式:length = (rear-front+1+M)%M;*为了判断队列是否空/满情况*空: front == rear*满:front == (rear+1)%M*/int length = (nodes[len - 1].index - nodes[0].index + 1 + M) % M;cout << "length: " << length << endl;} else {cout << "参数错误!!!" << endl;}
}
如果用一个循环数组q[0..m-1]表示队列时,该队列只有一个队列头指针front,不设队列尾指针rear,求这个队列中从队列投到队列尾的元素个数(包含队列头、队列尾)。相关推荐
- 写一个循环,不断的问用户想买什么,用户选择一个商品编号,就把对应的商品添加到购物车里,最终用户输入q退出时,打印购物车里的商品列表
写一个循环,不断的问用户想买什么,用户选择一个商品编号,就把对应的商品添加到购物车里,最终用户输入q退出时,打印购物车里的商品列表 写一个循环,不断的问用户想买什么,用户选择一个商品编号,就把对应的商 ...
- C语言:猴子吃桃问题:猴子第一天摘下若干桃子,当即吃了一半多一个,第二天将剩下的桃子吃掉一半多一个,以后每天都吃掉前一天剩下桃子的一半多一个。到第10天想再吃时,只剩下一个桃子。
题目: 猴子吃桃问题:猴子第一天摘下若干桃子,当即吃了一半多一个,第二天将剩下的桃子吃掉一半多一个,以后每天都吃掉前一天剩下桃子的一半多一个.到第10天想再吃时,只剩下一个桃子.求第一天猴子共摘了多少 ...
- 返回一个循环数组中最大子数组的和
设计思路 首先利用rand()函数随机产生一个一维数组,数组长度通过宏定义来控制.求首尾连接的一维数组的最大子数组的和我的思路是:循环N次(N是数组的长度)依次检测数组的最大子数组的和再比较大小,保留 ...
- 关于求1~n中与m互质的数的个数(容器原理+数论分解质因子)
D. Count GCD 这道题严格来讲不难,a[i]与b[i+1]最大公约数为a[i+1],所以a[i]与b[i+1]必定整除a[i+1],且a[i]/a[i+1]与b[i+1]/a[i+1]互质, ...
- C语言输出最后一个空格去掉,新人提问:如何将输出时每行最后一个空格删除...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 如何将每行最后一个空格删除,使矩阵只有数字间有空格,没有多余空格? #include #include int main() { int i,j,k,m, ...
- 猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了1个。第2天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天想再吃时,就只剩一个
代码: #include <stdio.h> #include <math.h> #define T 10 int main(){ //定义桃子的总数 int x; doubl ...
- ant-design-vue 中标签页tab上额外的元素(tabBarExtraContent) , tab选项卡头增加文字
公司有个需求,在ant-design-vue的标签页上,在tab选项卡头增加文字. 具体需求效果,如下图. 实现原理: 一.主要用到插槽(slot) 二.代码如下: <a-tabs style= ...
- 第5周作业(杨辉三角形,队列元素逆置,银行排队——队列,整数划分问题,买票问题——卡特兰数,小兔的棋盘——卡特兰数)
一.杨辉三角形 [问题描述]杨辉三角形的打印,请用循环队列实现.不采用"循环队列",不给分. [样例输入] 4 [样例输出] 1 1 1 1 2 1 1 3 3 1 #includ ...
- 循环数组最大字段和(51Nod-1050)
题目 N个整数组成的循环序列a[1],a[2],a[3],-,a[n],求该序列如a[i]+a[i+1]+-+a[j]的连续的子段和的最大值(循环序列是指n个数围成一个圈,因此需要考虑a[n-1],a ...
最新文章
- hdoj 5199 Gunner map
- [转]MongoDb环境部署
- leetcode算法题--不同路径2
- vuex 编译项目_俺咋能看懂公司前端项目?
- Linux编程 20 shell编程(shell脚本创建,echo显示信息)
- python爬虫之图片
- LeetCode(16)题解--3Sum Closest
- DirectX 初始化DirectX(手写和红龙书里面的方式)
- Java基础编程题50道题
- 拦截器和过滤器的执行顺序和区别
- 【z变换】3. 逆z变换
- 开发者故事|朝九晚六大小周,我就是快乐的技术人
- msconfig蓝屏_电脑设置MSConfig后重启就蓝屏,然后又自动重启,一直循环。。。怎么办啊啊啊啊啊啊...
- 修改传奇私服服务器,传奇SF 肿么修改服务器时间
- 湖南计算机前十大学,湖南计算机专业学校排名
- 程序猿小哥用12万行代码堆出来个「蔡徐坤」!编译竟然还能通过
- 人工智能将在未来几年,呈现以下四个主要发展趋势
- 5.2 数据可视化分析——词云图绘制
- 回收站清空的文件能恢复吗?2种方法强力推荐
- 中央情报局关键词提取——Unicode码
热门文章
- 民锋国际期货:期货交易 | 博弈之道,遵守法则
- 【源码阅读】SIR-GN: A Fast Structural Iterative Representation Learning Approach For Graph Nodes
- QT5.15.2__wind10 64 源码编译
- 矩阵篇(四)-- 实随机向量的相关矩阵、协方差矩阵、相关系数
- BCB数据库问题总结
- conda中的CUDA和自己安装的CUDA的区别
- 神经网络压缩库Distiller学习
- 【计算机网络】(一)走进网络
- Linux—vi命令详解
- 会计专业毕业论文如何选题?