#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;
}
}

最新文章

  1. Freemarket学习整理。
  2. 公有IP与私有IP
  3. Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2) A. Bear and Elections 优先队列
  4. 微信jssdk
  5. load get selectone 或者selectlist 以及hql查询语句不用提交事务
  6. 学习微软中间语言(MSIL)的绝佳工具 Dotnet IL Editor 推荐
  7. PHP获取当前时间的毫秒数(yyyyMMddHHmmssSSS)
  8. 部署war包到tomcat服务器
  9. 学习Swift--下标脚本
  10. jquery之营销系统
  11. 【本&#183;伍德Lua专栏】补充的基础06:简单的错误处理
  12. 警惕Dictionary和SortedDictionary的顺序陷阱
  13. Cloudstack网络分析-基本网络
  14. LNMP+FARM+DNS
  15. 设计模式 --&gt; (1)工厂模式
  16. C#中的out 参数,ref参数,值参数
  17. [mooc]open course on github
  18. OC获取ip地址
  19. Tcp三次挥手和四次挥手
  20. 【PAT】B1079 延迟的回文数(20 分)

热门文章

  1. jmeter进行接口测试--csv参数化,数据驱动-转
  2. 借助Git实现本地与GitHub远程双向传输(同步GitHub仓库)以及一些使用错误解决
  3. 使用ZeroClipboard操作剪切板
  4. String substring(int start,int end)截取当前字符串中指定范围内的字符串
  5. Linux帮助——重要文件
  6. ojdbc.jar在maven中报错(下载不了)
  7. 树莓派4B到货开箱体验
  8. jQuery animate() 方法
  9. MySQL 部署分布式架构 MyCAT (四)
  10. [Go] 写文件和判断文件是否存在