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

凌河建设网站网络服务示范区创建情况

凌河建设网站,网络服务示范区创建情况,wordpress火车头接口定时,网页模版素材循环队列是我们可以对队列有更深一步的理解的题目#xff0c;而且可以进一步加强其他方面的知识#xff08;例如对循环数组的取模运算#xff0c;指针的解引用#xff09;#xff0c;是个蛮不错的巩固习题#xff0c;话不多说#xff0c;进入正题。 链接在此#xff1…循环队列是我们可以对队列有更深一步的理解的题目而且可以进一步加强其他方面的知识例如对循环数组的取模运算指针的解引用是个蛮不错的巩固习题话不多说进入正题。 链接在此设计循环队列 强烈建议先自己做一遍直接看的话可能会比较不知所云 目录 利用数组设计思路代码实现 利用链表设计思路代码实现 本题可以使用 数组或链表来设计本篇文章都会涉及到 做这题时会遇到很多难点 先说结论此题的难点在于如何判断数组的 空与满不管是链表还是数组实现此问题都是难点。 在数据结构中我们通常在解决此问题时都是选择多设置一个位置back指向当前元素的下一个。 但多出来的位置不是不用例如 这样可以比较好的解决此类问题。 利用数组设计 思路 已经有了上述的前置知识 我们就可以比较轻易地判断空与满数组中的front和back下标指向同一个位置时是空那么什么时候会满呢 当back的下一个为front时就为满即back1 front 但是如果back在front后边就需要我们的比较灵活的运用取模运算 在上边我们说到back1 front时为满但是在上图中我们发现back1并不是front而是超出了数组 我们说过会定义N1个空间N是元素个数经过思考我们会发现N就是back的下标N1就是back1位置的下标 那我们back 1% (N 1) front时就是满 代码中剩下的取模运算也都大同小异 代码实现 typedef struct {int* arr;int front;int rear;int N; } MyCircularQueue;bool myCircularQueueIsEmpty(MyCircularQueue* obj) {return (obj-front obj-rear); }bool myCircularQueueIsFull(MyCircularQueue* obj) {return (obj-rear 1 ) % (obj-N 1) obj-front; }MyCircularQueue* myCircularQueueCreate(int k) {MyCircularQueue* ret (MyCircularQueue*)malloc(sizeof(MyCircularQueue));ret-arr (int*)malloc(sizeof(int)*(k1));ret-front 0;ret-rear 0;ret-N k;return ret; }bool myCircularQueueEnQueue(MyCircularQueue* obj, int value) {if(myCircularQueueIsFull(obj)){return false;}obj-arr[obj-rear] value;obj-rear;//防止rear出界obj-rear % (obj-N 1);return true; }bool myCircularQueueDeQueue(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj)){return false;}obj-front;//防止front出界obj-front % (obj-N 1);return true; }int myCircularQueueFront(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj)){return -1;}return obj-arr[obj-front]; }int myCircularQueueRear(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj)){return -1;}//此处可以不用取模if与else判断也可以return obj-arr[(obj-rear-1(obj-N1))%(obj-N1)]; }void myCircularQueueFree(MyCircularQueue* obj) {free(obj-arr);free(obj); }/*** Your MyCircularQueue struct will be instantiated and called as such:* MyCircularQueue* obj myCircularQueueCreate(k);* bool param_1 myCircularQueueEnQueue(obj, value);* bool param_2 myCircularQueueDeQueue(obj);* int param_3 myCircularQueueFront(obj);* int param_4 myCircularQueueRear(obj);* bool param_5 myCircularQueueIsEmpty(obj);* bool param_6 myCircularQueueIsFull(obj);* myCircularQueueFree(obj); */一一一一一一一一分割线一一一一一一一一 持续更新中… 利用链表设计 思路 代码实现
http://www.w-s-a.com/news/87698/

相关文章:

  • 烟台高端网站建设公司福田市网站建设推广
  • 做网站如何保证询盘数量智慧城市
  • 大连网站平台研发wordpress更改地址
  • 做标书要不要做网站南昌网站排名优化费用
  • 网站内容如何自动关联新浪微博万网域名信息
  • 网站出售网络推广服务费计入什么科目
  • 宁波咨询网站设计西安网站制作开发
  • 深圳市专注网站建设全网营销网络推广
  • 如何快速建设网站虚拟空间软件
  • 一个虚拟主机可以做几个网站免费软件下载中心
  • 美工培训网站中国建筑网官网手机版
  • 创建网站花钱吗谁能给个网址免费的
  • 宁波教育学会网站建设网站建设价格由什么决定
  • 北京定制网站价格wordpress上传pdf文档
  • 网站建设费税率dz论坛seo设置
  • 推销网站话术商业网站开发与设计
  • 金华网站建设哪个网站做欧洲旅行比较好
  • 东莞市住房和城乡建设局网站trswcm网站建设
  • 郑州做网站企业h5编辑器免费版
  • 加强公司窗口网站建设陕西省外省入陕建筑信息平台
  • 成都网站优化实战大连企业网站建设模板
  • 服务器硬件影响网站速度seo网站推广价格
  • 学院网站开发竞争对手分析买网站送域名
  • 手机网站 jsp个人网页制作成品代码五个页面
  • ppt做长图网站wordpress文章页面图片自动适应
  • 做泌尿科网站价格京东商城网站建设教程
  • 像网站的ppt怎么做的移动app与网站建设的区别
  • 怎么建个人网站网站收录有什么用
  • 广州市医院网站建设广州头条新闻最近一周
  • 广州移动 网站设计中国交通建设监理协网站