当前位置: 首页 > news >正文

北京网站建设制作哪家公司好三门峡建设网站哪家好

北京网站建设制作哪家公司好,三门峡建设网站哪家好,德阳网站建设求职简历,贵阳网站建站建设定制说起队列和栈#xff0c;链表动态内存分配的方式#xff0c;是比较常见的方式#xff0c;最近项目下需要在dsp上面使用队列和栈两种数据结构#xff0c;所有就使用链表动态内存分配的方式实现了一下#xff0c;但是调试的过程中发现运行的时候总是在动态内存分配的位置出b… 说起队列和栈链表动态内存分配的方式是比较常见的方式最近项目下需要在dsp上面使用队列和栈两种数据结构所有就使用链表动态内存分配的方式实现了一下但是调试的过程中发现运行的时候总是在动态内存分配的位置出bug动态内存分配malloc总是分配失败返回空指针尝试修改cmd的配置后也仍然没有解决问题。思来想去还是用数组的方式来实现队列和栈结果性能出奇的稳定所以本博客记录一下用数组实现队列和栈的代码。 队列 queue.h #ifndef USERPROGRAM_QUEUE_QUEUE_H_ #define USERPROGRAM_QUEUE_QUEUE_H_#include main.h#define QUEUE_MAX_SIZE 500 /*--------------- 单个Uint16队列 ---------------*/ typedef struct _queue{int size;int front;int rear;Uint16 data[QUEUE_MAX_SIZE]; } queue;void queue_init(queue *q); int enqueue(queue *q, Uint16 value); int dequeue(queue *q, Uint16 *value); int is_queue_empty(queue *q);extern queue scib_rx_queue; extern queue scib_tx_queue;#endif /* USERPROGRAM_QUEUE_QUEUE_H_ */queue.c  #include queue.hqueue scib_rx_queue; queue scib_tx_queue;void queue_init(queue *q){q-size 0;q-front 0;q-rear -1; }int enqueue(queue *q, Uint16 value){if(q-size QUEUE_MAX_SIZE){return 0;}q-rear;q-data[q-rear] value;q-size;return 1;}int dequeue(queue *q, Uint16 *value){if(q-size 0){return 0;}*value q-data[q-front];q-front;q-size--;// 初始化 如果是实时系统里面一直用队列初始化非常的关键if(q-size0){q-front 0;q-rear -1;}return 1; }int is_queue_empty(queue *q){return (q-size0); }栈 stack.h  #ifndef USERPROGRAM_STACK_STACK_H_ #define USERPROGRAM_STACK_STACK_H_#include main.h#define STACK_MAX_SIZE 500typedef struct _stack {float data[STACK_MAX_SIZE]; //数组建立顺序栈int top;//栈中元素个数 }stack;extern stack input_compute_stack; extern stack output_compute_stack;void stack_init(stack* s); int is_stack_empty(stack* s); int enstack(stack* s, float value); int destack(stack* s, float * value); void clearstack(stack* s);float computeformula(stack *s, float* constant_value, float* ch_value, Uint16* compute_rule, int N, int * ret);#pragma CODE_SECTION(computeformula,ramfuncs);#endif /* USERPROGRAM_STACK_STACK_H_ */stack.c  #include stack.hstack input_compute_stack; stack output_compute_stack;void stack_init(stack* s){s-top 0; }int is_stack_empty(stack* s){return (s-top0); }int enstack(stack* s, float value){if (s-top STACK_MAX_SIZE){return 0;}else{s-data[s-top] value;s-top;return 1;} }int destack(stack* s, float * value) {if (s-top 0){return 0;}else{s-top--;*value s-data[s-top];return 1;} }void clearstack(stack* s){s-top 0; }float computeformula(stack *s, float* constant_value, float* ch_value, Uint16* compute_rule, int N, int * ret){int i;float result 0;float operator1 0;float operator2 0;int stack_pop_ret1 1;int stack_pop_ret2 1;int stack_push_ret 1;for(i 0; i N; i){switch (compute_rule[i]){case ADD:stack_pop_ret1 destack(s, operator1);stack_pop_ret2 destack(s, operator2);result operator2 operator1;stack_push_ret enstack(s, result);if(stack_pop_ret10 || stack_pop_ret20 || stack_push_ret0){*ret 0;clearstack(s);return 0;}break;case SUBSTRACT:stack_pop_ret1 destack(s, operator1);stack_pop_ret2 destack(s, operator2);result operator2 - operator1;stack_push_ret enstack(s, result);if(stack_pop_ret10 || stack_pop_ret20 || stack_push_ret0){*ret 0;clearstack(s);return 0;}break;case MULTIPLY:stack_pop_ret1 destack(s, operator1);stack_pop_ret2 destack(s, operator2);result operator2 * operator1;stack_push_ret enstack(s, result);if(stack_pop_ret10 || stack_pop_ret20 || stack_push_ret0){*ret 0;clearstack(s);return 0;}break;case DIVIDE:stack_pop_ret1 destack(s, operator1);stack_pop_ret2 destack(s, operator2);if(stack_pop_ret10 || stack_pop_ret20 || operator1 0){*ret 0;clearstack(s);return 0;}else{result operator2 / operator1;stack_push_ret enstack(s, result);if(stack_push_ret0){*ret 0;clearstack(s);return 0;}}break;case CH1_P:stack_push_ret enstack(s, ch_value[0]);if(stack_push_ret0){*ret 0;clearstack(s);return 0;}break;case CH2_P:stack_push_ret enstack(s, ch_value[1]);if(stack_push_ret0){*ret 0;clearstack(s);return 0;}break;case CH3_P:stack_push_ret enstack(s, ch_value[2]);if(stack_push_ret0){*ret 0;clearstack(s);return 0;}break;case CH4_P:stack_push_ret enstack(s, ch_value[3]);if(stack_push_ret0){*ret 0;clearstack(s);return 0;}break;case CH5_P:stack_push_ret enstack(s, ch_value[4]);if(stack_push_ret0){*ret 0;clearstack(s);return 0;}break;case CH1_N:stack_push_ret enstack(s, -ch_value[0]);if(stack_push_ret0){*ret 0;clearstack(s);return 0;}break;case CH2_N:stack_push_ret enstack(s, -ch_value[1]);if(stack_push_ret0){*ret 0;clearstack(s);return 0;}break;case CH3_N:stack_push_ret enstack(s, -ch_value[2]);if(stack_push_ret0){*ret 0;clearstack(s);return 0;}break;case CH4_N:stack_push_ret enstack(s, -ch_value[3]);if(stack_push_ret0){*ret 0;clearstack(s);return 0;}break;case CH5_N:stack_push_ret enstack(s, -ch_value[4]);if(stack_push_ret0){*ret 0;clearstack(s);return 0;}break;case CONSTANT1:stack_push_ret enstack(s, constant_value[0]);if(stack_push_ret0){*ret 0;clearstack(s);return 0;}break;case CONSTANT2:stack_push_ret enstack(s, constant_value[1]);if(stack_push_ret0){*ret 0;clearstack(s);return 0;}break;case CONSTANT3:stack_push_ret enstack(s, constant_value[2]);if(stack_push_ret0){*ret 0;clearstack(s);return 0;}break;case CONSTANT4:stack_push_ret enstack(s, constant_value[3]);if(stack_push_ret0){*ret 0;clearstack(s);return 0;}break;case CONSTANT5:stack_push_ret enstack(s, constant_value[4]);if(stack_push_ret0){*ret 0;clearstack(s);return 0;}break;default:break;}}clearstack(s);*ret 1;return result;}
http://www.pierceye.com/news/450555/

相关文章:

  • 一手房哪个网站做信息效果好微信小程序打不开
  • 建设网站图片素材包头怎样做网站
  • 网站内容建设与管理90设计app下载
  • 怎么做优惠卷网站公司做网站大概多少钱
  • 哪些网站是单页面应用程序在线做网站流程
  • 公司网站设计维护官方网站建设需要做哪些东西
  • 网站被k还能不能在百度做推广wordpress主题网址导航葬爱
  • 成都网站制作和建设辽阳北京网站建设
  • 合肥金融网站设计网页制作工具分哪两类
  • 专业营销型网站定制wordpress菜单绑定模板
  • 网站建设公司找哪家好石家庄网站改版
  • 建立一个网站要多久网页界面ps制作步骤
  • 珠海网站建设费用自己做网站切入地图
  • 个人在线视频播放网站搭建软件属于网站开发吗
  • 小米的企业网站建设思路c2c的网站
  • 网站设计书籍做网站的基础
  • 买下云服务器怎么做网站官方网站怎么查询
  • 手机版企业网站php西宁做网站公司排名
  • 微网站如何做推广做淘宝客网站需要备案吗
  • 天津网站制作重点windows与wordpress
  • 可以查企业备案的网站吗佛山住房和城乡建设部网站官网
  • 和初中生做视频网站怎么进入追信魔盒网站开发软件
  • 邯郸开发网站有哪些阳江市房产信息网
  • 快速网站推广公司丹阳房产网二手房
  • 做一个卖东西的网站黄村做网站的公司
  • 网站增长期怎么做广州seo推广优化
  • 怎么做拍卖网站吗免费网站推广入口
  • 农产品网站建设的主要工作岳阳seo招聘
  • 每年网站备案抽查惠州营销网站建设
  • 四川网站建设seo友汇网网站建设