c++整理程序 dev_【C++】用Dev-C++写的C++程序老是报错,请问为什么?如何解决?...
MyQueue.cpp的代码如下:
#include "MyQueue.h"
#include
using namespace std;
/**
* 队列的初始化
* @param queueCapacity int
*/
MyQueue::MyQueue(int queueCapacity)
{
m_iQueueCapacity = queueCapacity;
m_pQueue = new int[m_iQueueCapacity];
ClearQueue();
}
/**
* 销毁队列
*/
MyQueue::~MyQueue()
{
delete []m_pQueue;
m_pQueue = NULL;
}
/**
* 清空队列
*/
void MyQueue::ClearQueue()
{
m_iHead = 0;
m_iTail = 0;
m_iQueueLen = 0;
}
/**
* 判断队列是否为空
* @return bool
*/
bool MyQueue::QueueEmpty() const
{
return m_iQueueLen == 0;
}
/**
* 判断队列是否已满
* @return bool
*/
bool MyQueue::QueueFull() const
{
// 可通过判断长度和容量是否相等来判断队列是否已满
return m_iQueueLen == m_iQueueCapacity;
}
/**
* 队列长度
* @return int
*/
int MyQueue::QueueLength() const
{
return m_iQueueLen;
}
/**
* 新元素入队
* @param element int
* @return bool
*/
bool MyQueue::EnQueue(int element)
{
// 在入队之前,需要判断队列是否已满,如已满不可插入
if (QueueFull()) {
return false;
}
m_pQueue[m_iTail] = element;
// 入队操作,队头不需要变化,队尾需要加1
m_iTail++;
// 取余操作,防止溢出。比如当容量为4的队列加满数据,此时队列出去一个数,则队尾指向数组[0]的位置。如果m_Tail++就会变成数组[5],所以用取余%——放队列放满4个数时,4%4=0,对尾自然指向了数组[0]。
m_iTail = m_iTail % m_iQueueCapacity;
m_iQueueLen++;
return true;
}
/**
* 首元素出队
* @param element int
* @return bool
*/
bool MyQueue::DeQueue(int &element)
{
// 在出队之前,需要判断队列是否已空,如已空不可出队
if (QueueEmpty()) {
return false;
}
// 这一步的意思是为了获得出队的元素的值
element = m_pQueue[m_iHead];
// 出队操作,队尾不需要变化,队头需要加1
m_iHead++;
m_iHead = m_iHead % m_iQueueCapacity;
m_iQueueLen--;
return true;
}
/**
* 遍历队列,输出所有元素值
*/
void MyQueue::QueueTraverse()
{
for (int i = m_iHead; i < m_iQueueLen + m_iHead; i++)
{
cout << m_pQueue[i % m_iQueueCapacity] << endl;
}
cout << endl;
}
MyQueue.h的代码如下:
/**
* 环形队列C++实现 (注释:讲解一些 C 语言用法)
*/
class MyQueue
{
public:
MyQueue(int queueCapacity); // InitQueue(&Q) 创建队列
virtual ~MyQueue(); // DestoryQueue(&Q) 销毁队列
void ClearQueue(); // ClearQueue(&Q) 清空队列
bool QueueEmpty() const; // QueueEmpty(Q)判空队列
bool QueueFull() const; // 判断队列是否已经满了
int QueueLength() const; // QueueLength(Q) 队列长度
bool EnQueue(int element); // EnQueue(&Q, element) 新元素入队
bool DeQueue(int &element); // DeQueue(&Q, &element)首元素出队
void QueueTraverse(); // QueueTraverse(Q,visit()) 遍历队列,visit()函数:访问的方法
private:
int *m_pQueue; // 队列数组指针
int m_iQueueLen; // 队列元素个数
int m_iQueueCapacity; // 队列数组容量
int m_iHead; // 队头
int m_iTail; // 队尾
};
编译MyQueue.cpp老是提示报错:
Dev-C++编辑器的版本为:5.11
编译器版本为:
电脑系统为:win7 64位
求解?
c++整理程序 dev_【C++】用Dev-C++写的C++程序老是报错,请问为什么?如何解决?...相关推荐
- linux系统读取excel文件是否存在,小弟我用poi读excel,在window下没有有关问题,但把程序放到linux上时,读取客户端的excel文件报错,不...
我用poi读excel,在window下没有问题,但把程序放到linux上时,读取客户端的excel文件报错,不知道如何解决 我用poi读excel,在window下没有问题,但把程序放到linux上 ...
- DEV C++编写程序出现 [errror]Id returned 1 exit status报错可能出现的原因及解决办法
前言: 在DEV C++编写程序时总是出现出现 [errror]Id returned 1 exit status报错,但是却找不到任何问题(气死人了),我就为此问题困扰了好几个月,看遍了所有网页.博 ...
- npm run dev (明明有.vue文件),却报错 cannot GET
npm run dev (明明有.vue文件),却报错 cannot GET 其他问题: vuejs中执行npm run dev出现页面cannot GET/问题
- 微信小程序:errMsg“:“navigateTo:fail can not navigateTo a tabbar page 报错问题
微信小程序关于:errMsg":"navigateTo:fail can not navigateTo a tabbar page 报错问题 原因 很有可能是由于在底部tabbar ...
- 【小程序踩坑系列5】小程序内多重调用原生promise,无返回,无报错,代码卡住...
作者: 蒋欢 问题: 在部分IOS机型上,小程序内使用原生promise实现异步,在嵌套四层后,Promise的resolve和reject均无返回. 环境: 用户机型:iPhone 7 系统版本:I ...
- vue2.x 在引用插件的时候,npm run dev跑正常 ,npm run build 报错vue-cli Unexpected token: punc (() [...
这是因为,引用的插件在node_modules里,并不在vue-cli的es6编译范围内,所以语法报错,修改方法: 转载于:https://www.cnblogs.com/cynthia-wuqian ...
- android开发 停止运行程序,开发的时候老是报错 XXXXX程序已停止运行。
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 package com.example.event3; import android.support.v7.app.ActionBarActivity; ...
- 钉钉小程序的坑 么有开启通讯录权限,导致后台报错“没有调用该接口的权限”
- 公众号模板消息 跳转小程序报错invalid weapp pagepath解决方法
官方文档示例: "miniprogram":{"appid":"xiaochengxuappid12345","pagepath& ...
- Windows下python程序报错Nomodule named 'gevent'解决及ERROR: xxx.whl is not a supported wheel on this platform
在windows下面直接简单安装gevent或其他库是不行的,必须使用源码包安装. 这里提供一个网址https://www.lfd.uci.edu/~gohlke/pythonlibs/ ,它是Win ...
最新文章
- 读阮一峰对《javascript语言精粹》的笔记,我有疑问。
- 消息称苹果正在组建新智能家居团队
- FastDFS图片服务器
- 【Android Gradle 插件】ProductFlavor 配置 ( ProductFlavor 引入 | ProductFlavor 参考文档地址 )
- 使用 Visual Studio Code SQLite 扩展来浏览 SAP Cloud Application Programming 数据库
- 《UNIXLinux程序设计教程》一2.1 UNIX 输入输出基本概念
- 时序列数据库武斗大会之 OpenTSDB 篇
- 电阻参数_贴片电阻的参数标识与贴片电阻的选择
- 简单的纯数字图像(如电话号码、数字验证码)识别
- python入门指南_Python中的逻辑门–入门指南
- 华为交换机 查ip冲突_华为交换机:如何解决网络中IP地址发生冲突故障?
- win10搭建无盘服务器配置,关于今天搞定网吧无盘Win10x64一包多配置到底的详细讲解 By 原来我不帅...
- 信号检测与估计理论_校对招募 | 信号检测论的贝叶斯估计
- 预测算法用java实现
- 【在线仿真】Arduino WS2812b环形24颗霓虹灯动态效果显示
- Mac小技巧——开启Google Chrome浏览器加速模式
- 2020德勤面试开始了吗_四大面试-德勤面试流程免费给你,还不收好?截止2020年9月...
- java使用pdfbox将PDF转化为图片
- 专业的音乐创作类软件,Helio最新版软件可以帮助用户处理音乐创作中遇到的各种问题。
- java 将多个文件打包成压缩包下载
热门文章
- mixin风格的bases class
- 拓端tecdat|R语言中的隐马尔可夫HMM模型实例
- 拓端tecdat|Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力负荷数据
- 7-1 购买火车票 (15 point(s))
- L2-007 家庭房产 (25 point(s))
- python 根据父子信息 还原成json树
- yolov5数据集txt解析
- deepfake 资源总结
- 【DBN】Deep Belief Network简介
- Ubuntu16.04下修复宿主机时区错位8小时、修复容器相较于宿主机错位8小时问题