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

专业的外贸网站建设公司价格wordpress添加微软雅黑

专业的外贸网站建设公司价格,wordpress添加微软雅黑,西安营销型网站,东莞市公共资源交易中心官网目录 【Leetcode622】设计循环队列 A.链接 B.题目再现 C.解法 【Leetcode622】设计循环队列 A.链接 设计循环队列 B.题目再现 C.解法 其实这题用数组或是链表都能解决#xff0c;但是如果是用链表的话#xff0c;那么队列为空的条件和队列满了的条件是一样的#xff0… 目录 【Leetcode622】设计循环队列 A.链接 B.题目再现 C.解法 【Leetcode622】设计循环队列 A.链接 设计循环队列 B.题目再现 C.解法 其实这题用数组或是链表都能解决但是如果是用链表的话那么队列为空的条件和队列满了的条件是一样的都为 frontrear这样就无法判断加个哨兵位的头节点可以解决这个问题但是后面接口的实现又会很麻烦所以这题还是推荐用数组实现。 创建数组时我们多开1个空间也就是开 k1 个空间 具体来说 刚开始队列为空所以 frontrear0 1.插入数据时在下标为 rear 的位置插入然后rear,为了防止下次插入数据时越界rear还要模上 k1 当rear1front即队列满了就不能插入返回false但是这里不能简单地判断 rear1front因为有几种特殊的情况需要注意: 2.删除数据时要先判断队列是否为空若为空则返回false 若不为空只需让front注意这了还是要让front 模上k1防止加着加着就越界了。 3.获取队头数据很简单只需要在此之前判断队列是否为空为空则返回-1 不为空则返回 front 4.获取队尾数据时在此之前同样需要判空若为空则返回-1 若不为空因为 rear 始终表示的是下一个位置所以返回 rear -1但是如果 rear 的值是0的话rear-1-1访问就越界了这个特殊的情况需要注意或者不单独判断这个特殊情况直接先让rear-1再加上k1然后模上k1返回其结果这样即使rear是0也不会造成越界访问。 5.判空很简单只需判断 rear 是否等于 front 即可。 typedef struct {int *arr;int front;int rear;int k; } MyCircularQueue;bool myCircularQueueIsFull(MyCircularQueue* obj) {//不能简单地判断rear1front即为满要考虑特殊情况return ((obj-rear1)%(obj-k1))(obj-front); }bool myCircularQueueIsEmpty(MyCircularQueue* obj) {if(obj-frontobj-rear)return true;elsereturn false; } MyCircularQueue* myCircularQueueCreate(int k) {MyCircularQueue*obj(MyCircularQueue*)malloc(sizeof(MyCircularQueue));if(objNULL)return NULL;obj-frontobj-rear0;obj-kk; //这里记录k的值后面的接口需要用到obj-arr(int *)malloc(sizeof(int)*(k1)); //开 k1 个空间if(obj-arrNULL)return NULL;return obj; }bool myCircularQueueEnQueue(MyCircularQueue* obj, int value) {if(myCircularQueueIsFull(obj)) //队列为满则返回falsereturn false;obj-arr[obj-rear]value;obj-rear%(obj-k1); //防止 rear 加着加着就越界了return true; }bool myCircularQueueDeQueue(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj)) //队列为空则返回falsereturn false;obj-front;obj-front%(obj-k1); //防止 front 加着加着就越界了return true; }int myCircularQueueFront(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj)) //队列为空则返回-1return -1;return obj-arr[obj-front]; }int myCircularQueueRear(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj))return -1;//rear表示的是下一个位置所以队尾数据的下标时rear-1但要考虑rear0 这一特殊情况return obj-arr[(obj-rear-1obj-k1)%(obj-k1)]; }void myCircularQueueFree(MyCircularQueue* obj) {free(obj-arr); //先销毁创建的数组free(obj); }这循环队列的讲解就到这里了若有错误或是建议欢迎小伙伴们指出。 希望小伙伴们可以多多支持博主哦。 谢谢你的阅读。
http://www.ho-use.cn/article/10817464.html

相关文章:

  • 一家专门做动漫的网站汕头网站建设和运营
  • 怎么给自己网站做推广网站建设流程笔记
  • 免费网站建设可信赖led动态视频网站建设
  • 红酒集团网站建设网站建设系统开发感想与收获
  • 网站制作商家入驻app开发企业网站建设
  • 福建漳州东山规划建设局网站宁波建网站选哪家好一点
  • 制作h5网站开发西乡做网站多少钱
  • 建设公司的网站制作购物网站制作样例
  • 网站建设pdf文件怎么发布安徽建工招标与采购网
  • 网站打开速度开发平台多少钱
  • 1688阿里巴巴官方网站石家庄网站制作仓谷
  • wordpress全站转移图片外链上传网站
  • 广西网站建设制作wordpress小视频主题
  • 兰溪城市建设规划网站营销型网站规划建设的七大要素
  • app开发科技网站建设怎样给公司做网站
  • 看书网站排名做淘客哪个网站好点
  • 做网站外包是什么意思国内永久免费网游
  • 电子商务网站建设中的重要性广西建设厅官方网站电话
  • 购买网站空间后怎么做咋做个人网站
  • 宜宾做网站公司从山海经取公司名
  • wordpress网站统计插件下载英文网站常用字体
  • 金华市东阳市建设局网站网站开发自适应不同分辨率
  • 门户网站报价国内网站搭建平台
  • 长沙网站建设公司有哪些网站要怎么创建
  • 一般的网站需要多大的空间网站管理主要包括哪些内容
  • 中国网站建设市场分析双语版网站怎么做
  • 石家庄网站排名推广网站建设 销售提成
  • 长春企业网站设计商城型外贸网站建设
  • 静态手机网站基础Wordpress禁止搜索内容
  • 京东网站开发框架友情链接交换