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

vue网站开发长沙网站空间

vue网站开发,长沙网站空间,百度网站与推广,南京成旭通网站建设公司怎么样简介 队列也是一种数据结构#xff0c;队列也可以用来存放数字每次只能向队列里将入一个数字#xff0c;每次只能从队列里获得一个数字在队列中#xff0c;允许插入的一段称为入队口#xff0c;允许删除的一段称为出队口它的原则是先进先出(FIFO: first in first out)队列也可以用来存放数字每次只能向队列里将入一个数字每次只能从队列里获得一个数字在队列中允许插入的一段称为入队口允许删除的一段称为出队口它的原则是先进先出(FIFO: first in first out)先进入队列的数据先出去后进入的后出去。队列的插入操作称为入队队列的删除操作称为出队 以下是队列中进行入队和出队的演示操作数据1先进也是数据1先出 代码实现 初始化队列 typedef struct queue{int* elements; // 存储区int cap; // 队列的容量int rear; // 入队口int front; // 出队口int size; // 队列当前大小 }queue_t;初始化队列 void queue_init(queue_t* pqueue, int cap){// 分配存储区空间pqueue-elements malloc(sizeof(int) * cap);if(pqueue-elements NULL){printf(内存分配失败\n);return;}// 赋值容量pqueue-cap cap;// 此时因为没有收数据出队口和入队口都是0队列当前大小也是0pqueue-rear 0;pqueue-front 0;pqueue-size 0; }销毁队列 void queue_deinit(queue_t* pqueue){free(pqueue-elements);pqueue-elements NULL;pqueue-cap 0;pqueue-rear 0;pqueue-front 0;pqueue-size 0; }判断队列是否已满 int queue_full(queue_t* pqueue){// 当sizecap的时候说明已满反之则没满return pqueue-size pqueue-cap; }判断队列是否为空 int queue_empty(queue_t* pqueue){// 当size0的时候说明为空反之则不为空return pqueue-size 0; }以下是一组入队出队的操作 入队 void queue_push(queue_t* pqueue, int data){// 参考上面的视频当此时还存在入队操作时说明队列还没满// 但是此时rear已经超过索引值了(也就是与cap值相等)需要将rear重置为0;if(pqueue-rear pqueuecap)pqueue-rear 0;pqueue-elements[pqueue-rear] data;pqueue-size; }出队 int queue_pop(queue_t* pqueue){// 与入队函数类似当此时还存在出队操作时说明队列不为空// 但是此时front已经超过索引值了也就是与cap值相等需要将front重置为0if(pqueue-front pqueue-cap)pqueue-front 0;pqueue-size--;return pqueue-elements[pqueue-front]; }实例代码 创建三个文件: queue.c、queue.h、main.c实现上面动图中的操作 queue.c定义队列具体的函数 #include queue.h// 初始化队列 void queue_init(queue_t* pqueue, int cap){pqueue-elements malloc(sizeof(int) * cap);if(pqueue-elements NULL){ printf(分配队列存储区失败!\n);return;}pqueue-cap cap;pqueue-rear 0;pqueue-front 0;pqueue-size 0; }// 销毁队列 void queue_deinit(queue_t* pqueue){free(pqueue-elements);pqueue-elements NULL;pqueue-cap 0;pqueue-rear 0;pqueue-front 0;pqueue-size 0; }// 入队 void queue_push(queue_t* pqueue, int data){if(pqueue-rear pqueue-cap)pqueue-rear 0;pqueue-elements[pqueue-rear] data;pqueue-size; }// 出队 int queue_pop(queue_t* pqueue){if(pqueue-front pqueue-cap)pqueue-front 0;pqueue-size--;return pqueue-elements[pqueue-front]; }//判断队列是否已满 int queue_full(queue_t* pqueue){return pqueue-size pqueue-cap; }// 判断队列是否为空 int queue_empty(queue_t* pqueue){return pqueue-size 0; }queue.h声明队列的相关函数和定义队列 #ifndef __QUEUE_H #define __QUEUE_H#include stdio.h #include stdlib.h// 定义队列 typedef struct queue{int* elements;int cap;int rear;int front;int size;}queue_t;extern void queue_init(queue_t* pqueue, int cap); extern void queue_deinit(queue_t* pqueue); extern void queue_push(queue_t* pqueue, int data); extern int queue_pop(queue_t* pqueue); extern int queue_full(queue_t* pqueue); extern int queue_empty(queue_t* pqueue);#endifmain.c主函数使用队列 #include queue.hint main(void){// 1. 创建一个队列queue_t queue;// 2. 初始化队列queue_init(queue, 4);// 3. 入队4个数据printf(开始第一次入队4个数据: );int data 10;for(int i 0; i 4; i){if(!queue_full(queue)){printf(%d , data);queue_push(queue, data);data 10;}}printf(\n此时还剩%d个数据\n\n, queue.size);// 4. 出队2个数据printf(开始第一次出队2个数据: );for(int i 0; i 2; i){if(!queue_empty(queue)){data queue_pop(queue);printf(%d , data);}}printf(\n此时还剩%d个数据\n\n, queue.size);// 5. 入队2个数据printf(开始第二次入队2个数据: );data 10;for(int i 0; i 2; i){if(!queue_full(queue)){printf(%d , data);queue_push(queue, data);data 10;}}printf(\n此时还剩%d个数据\n\n, queue.size);// 6. 将所有数据全部取出printf(将全部数据取出: );while(!queue_empty(queue)){data queue_pop(queue);printf(%d , data);}printf(\n此时还剩%d个数据\n\n, queue.size);// 销毁队列queue_deinit(queue);return 0; }
http://www.zqtcl.cn/news/629986/

相关文章:

  • 可以自己做漫画的网站怎么才能学网页设计
  • 能盈利的网站网站运营经验
  • 咸宁网站建设价格创建app需要什么条件
  • 一个静态网站多少钱谷歌推广公司哪家好
  • 做体育的网站c2c跨境电商平台有哪些?
  • 山西响应式网站建设推荐全国企业信用信息公示系统浙江
  • 西安做网站维护的公司百度百科官网入口
  • 网站网站建设公司贵阳网站设计阳光创信好吗
  • 网站广告投放收费标准长沙公司制作网站费用
  • 网站建设有哪些环节做一个产品网站要多少钱
  • 公司网站建设价格河北网站制作 网站开发
  • 适合新手做的网站项目职业技术培训
  • 提高网站流量原则昆山做百度网站
  • 怎样设计自己的网站长春制作门户网站的公司
  • 亚马逊商标备案是否必须做网站Wordpress做APP后端
  • 主办单位性质与网站名称不符网站域名怎么买
  • 帝国cms下载类网站怎么做广州外贸营销网站建设公司
  • 网站开发软件开发流程免费做外贸的网站平台有哪些
  • 教育培训网站开发广告公司怎么设置网站关键字
  • 绩溪建设银行网站济南网站建设 刘彬彬
  • 网站开发是打代码吗建网站来做什么
  • 制作网站需要什么软件wordpress建站程序
  • 做网站网站怎么赚钱软件工程师证书报考时间
  • 手机和电脑网站分开做炒股软件下载
  • 网站建设需要注意哪些关键细节杭州做商务网站
  • 做网站,图片显示不出来网站图标代码
  • 理财网网站开发源码h5淘宝网网页版入口
  • 免费网站商城模板宁波企业网站搭建图片
  • 上海网站备案查询建站图标素材
  • 贵州省住房和建设厅网网站网站页面设计报告