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

怎么修改网站域名国外免费网站域名服务器查询

怎么修改网站域名,国外免费网站域名服务器查询,专业做网站公司排名,微信怎么制作微电影网站文章目录 一、循环队列的构建二、判断是否为空三、判断队列是否满了四、队列插入五、队列的删除六、队列取头尾 设计循环队列 下面是队列提供的接口函数 typedef struct {int* a;int k;int front;int rear; } MyCircularQueue;MyCircularQueue* myCircularQueueCreate(int k) {… 文章目录 一、循环队列的构建二、判断是否为空三、判断队列是否满了四、队列插入五、队列的删除六、队列取头尾 设计循环队列 下面是队列提供的接口函数 typedef struct {int* a;int k;int front;int rear; } MyCircularQueue;MyCircularQueue* myCircularQueueCreate(int k) {MyCircularQueue* Queue (MyCircularQueue*)malloc(sizeof(MyCircularQueue));if(QueueNULL){perror(malloc fail);return NULL;}Queue-a malloc(sizeof(int)*(k1));Queue-kk;Queue-front Queue-rear0;return Queue; }bool myCircularQueueIsEmpty(MyCircularQueue* obj) {return obj-rear obj-front; }bool myCircularQueueIsFull(MyCircularQueue* obj) {return (obj-rear1)%(obj-k1)obj-front; }bool myCircularQueueEnQueue(MyCircularQueue* obj, int value) {if(myCircularQueueIsFull(obj))return false;else{obj-a[obj-rear]value;obj-rear;obj-rear%(obj-k1);}return true; }bool myCircularQueueDeQueue(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj))return false;else{obj-front;obj-front%(obj-k1);}return true; }int myCircularQueueFront(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj))return -1;elsereturn obj-a[obj-front]; }int myCircularQueueRear(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj))return -1;elsereturn obj-a[(obj-rear-1obj-k1)%(obj-k1)]; }void myCircularQueueFree(MyCircularQueue* obj) {free(obj-a);free(obj); }一、循环队列的构建 这里我们用数组构建循环队列因为如果用链表的话需要前后衔接用双向循环列表比较麻烦用数组的话不需要衔接因为数组是连续的。 然后就是用循环队列里面需要设置front和rear两个整数来判断这个循环队列是否为空或者是否满了 这里的rear必须是指向尾元素的下一个位置 因为这样容易判断队列是否为空如果不指向下一个元素那么有一个元素的情况下rear和front的值相同没有元素的情况下rear与front的值还是相同。 typedef struct {int* a;int k;int front;int rear; } MyCircularQueue;MyCircularQueue* myCircularQueueCreate(int k) {MyCircularQueue* Queue (MyCircularQueue*)malloc(sizeof(MyCircularQueue));if(QueueNULL){perror(malloc fail);return NULL;}Queue-a malloc(sizeof(int)*(k1));Queue-kk;Queue-front Queue-rear0;return Queue; }二、判断是否为空 1.没有元素的情况下 2.有元素的情况下 bool myCircularQueueIsEmpty(MyCircularQueue* obj) {return obj-rear obj-front; }三、判断队列是否满了 1.第一种情况 rear1 front 2.第二种情况 这里的rear需要除以一个周期因为我们开辟了k1个空间所以这里的rear对应的值为k所以需要1除以一个周期k1才能回到最开始的位置 即(rear1)%(k1)front bool myCircularQueueIsFull(MyCircularQueue* obj) {return (obj-rear1)%(obj-k1)obj-front; } 四、队列插入 需要判断这个队列是否满了 然后还有个细节的地方如下图 此时的rear需要回到第一个位置不然后面继续插入数据数组出现越界访问 bool myCircularQueueEnQueue(MyCircularQueue* obj, int value) {if(myCircularQueueIsFull(obj))return false;else{obj-a[obj-rear]value;obj-rear;obj-rear%(obj-k1);}return true; }五、队列的删除 基本上与上面的原理差不多 bool myCircularQueueDeQueue(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj))return false;else{obj-front;obj-front%(obj-k1);}return true; }六、队列取头尾 取头很简单重要的是取尾 取尾我们知道rear-1就是尾但是我们忽略了一种特殊情况 这种情况下rear-1为负数所以我们需要回正再者考虑其他正常情况我们需要加上队列的一个周期k1然后%k1 int myCircularQueueFront(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj))return -1;elsereturn obj-a[obj-front]; }int myCircularQueueRear(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj))return -1;elsereturn obj-a[(obj-rear-1obj-k1)%(obj-k1)]; }
http://www.w-s-a.com/news/80783/

相关文章:

  • 网站开发技术背景介绍wordpress数据库重置密码
  • 开发建设网站的实施过程是一个logo设计品牌
  • 做360pc网站排名首页工程造价信息网官网首页
  • 产品销售网站模块如何设计大数据和网站开发
  • 现在帮别人做网站赚钱不济南做网站建设公司
  • 嘉兴网站建设哪家好最近三天的国际新闻大事
  • 安丘网站建设制作做网站口碑比较好的大公司
  • 成都专业做网站公司哪家好优化大师下载安装免费
  • 防蚊手环移动网站建设广东深圳有几个区
  • 网站建设找哪些平台宜兴网站开发
  • 免费网站应用软件wordpress添加动态图标
  • 中小企业网站建设客户需求调查问卷昆明网站建设一条龙
  • 网站内容的特点wordpress 移动端网页
  • 专门网站建设培训网站系统建设
  • 自己设计手机的网站wordpress主题加密教程
  • 北京网站建设公司飞沐卖水果网站建设的策划书
  • 北京免费自己制作网站短视频宣传片制作
  • 怎样进入谷歌网站电子商务网站建设软件选择
  • 建个普通网站多少钱设计师培训多少
  • 建设校园网站的意义视频链接提取下载
  • 天津电子商务网站wordpress安装图片
  • 青岛房产网站东莞网络营销外包公司
  • 网站建设中的页数网上工伤做实网站
  • 给公司做网站这个工作怎么样wordpress不支持中文标签
  • 湖南网站推广优化cc域名做门户网站
  • 网站开发大概多久怎么制做网站
  • 鄂州官方网站食品网站建设需求分析
  • 福州网站建设金森要做好网络营销首先要
  • 中山哪里有好网站建设公司企业培训考试平台下载
  • 域名备案查询 网站备案查询企业网站建设问题研究