循环队列c++代码
2024-10-18 23:07:24
#include <ros/ros.h>
#include <string>
#include <stdlib.h>
#include <iostream>
#include <sys/msg.h>
#include <cstdio>
#include <cstdlib>
#include <sys/types.h>
#include <sys/ipc.h>
#include <unistd.h> using namespace std; typedef struct _QUEUE_NODE
{
int *pData;
int length;
int head;
int tail;
int count;
}QUEUE_NODE; QUEUE_NODE* alloca_queue(QUEUE_NODE* pQueue_Node,int number)
{
if( == number)
return NULL;
pQueue_Node = (QUEUE_NODE*)malloc(sizeof(QUEUE_NODE));
memset(pQueue_Node, , sizeof(QUEUE_NODE));
pQueue_Node->pData = (int*)malloc(sizeof(int)*number); memset(pQueue_Node->pData, , sizeof(pQueue_Node->pData));
if(NULL == pQueue_Node->pData)
{
free(pQueue_Node);
return NULL;
}
pQueue_Node->length = number;
return pQueue_Node;
} bool delete_queue(const QUEUE_NODE* pQueue_Node)
{
if(NULL == pQueue_Node)
return false;
free(pQueue_Node->pData);
free((void*)pQueue_Node);
return true;
} bool insert_queue(QUEUE_NODE* pQueue_Node, int value)
{
if(NULL == pQueue_Node)
return false; if(pQueue_Node->length == pQueue_Node->count)
return false; pQueue_Node->pData[pQueue_Node->tail] = value;
pQueue_Node->tail = (pQueue_Node->tail + ) % pQueue_Node->length;
pQueue_Node->count ++;
return true;
} int main(int argc, char **argv)
{
std::cout<<"test qusetion9 start !"<<std::endl;
ros::init(argc,argv,"question9_node");
ros::NodeHandle node;
ros::Rate r(); QUEUE_NODE* qQueue_node;
qQueue_node = alloca_queue(qQueue_node,);
cout << "size is : " << qQueue_node->length << endl;
cout << "tail is : " << qQueue_node->tail << endl;
cout << "head is : " << qQueue_node->head << endl;
cout << "pData->tail is : " << qQueue_node->pData[qQueue_node->tail] << endl; if(insert_queue(qQueue_node,) == true)
{
cout << "size is : " << qQueue_node->length << endl;
cout << "data is : " << qQueue_node->pData[qQueue_node->tail] << endl;
} if(insert_queue(qQueue_node,) == true)
{
cout << "size is : " << qQueue_node->length << endl;
cout << "data is : " << qQueue_node->pData[qQueue_node->head+] << endl;
}
}
最新文章
- Freemarket学习整理。
- 公有IP与私有IP
- Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2) A. Bear and Elections 优先队列
- 微信jssdk
- load get selectone 或者selectlist 以及hql查询语句不用提交事务
- 学习微软中间语言(MSIL)的绝佳工具 Dotnet IL Editor 推荐
- PHP获取当前时间的毫秒数(yyyyMMddHHmmssSSS)
- 部署war包到tomcat服务器
- 学习Swift--下标脚本
- jquery之营销系统
- 【本&#183;伍德Lua专栏】补充的基础06:简单的错误处理
- 警惕Dictionary和SortedDictionary的顺序陷阱
- Cloudstack网络分析-基本网络
- LNMP+FARM+DNS
- 设计模式 -->; (1)工厂模式
- C#中的out 参数,ref参数,值参数
- [mooc]open course on github
- OC获取ip地址
- Tcp三次挥手和四次挥手
- 【PAT】B1079 延迟的回文数(20 分)
热门文章
- jmeter进行接口测试--csv参数化,数据驱动-转
- 借助Git实现本地与GitHub远程双向传输(同步GitHub仓库)以及一些使用错误解决
- 使用ZeroClipboard操作剪切板
- String substring(int start,int end)截取当前字符串中指定范围内的字符串
- Linux帮助——重要文件
- ojdbc.jar在maven中报错(下载不了)
- 树莓派4B到货开箱体验
- jQuery animate() 方法
- MySQL 部署分布式架构 MyCAT (四)
- [Go] 写文件和判断文件是否存在