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

关于水果的网站开发公司品牌flash网站设计

关于水果的网站开发,公司品牌flash网站设计,某高校门户网站开发案例,品质好的人本题重点#xff1a; 1. 选择合适的数据结构 2. 针对选择的数据结构判断“空”和“满” 这两点是不分先后次序的#xff0c;在思考时应该被综合起来。事实上#xff0c;无论我们选择链表还是数组#xff0c;最终都能实现题中描述的“循环队列”的功能#xff0c;只不过… 本题重点 1. 选择合适的数据结构 2. 针对选择的数据结构判断“空”和“满” 这两点是不分先后次序的在思考时应该被综合起来。事实上无论我们选择链表还是数组最终都能实现题中描述的“循环队列”的功能只不过选择不同结构时我们面临和需要解决的问题不同。 一、思路 1. 数组实现队列。定义变量 front 标识队头变量 rear 标识队尾。 数组设计循环队列的好处 1. 找队尾元素方便使用链表实现时需要找尾。 2. 循环实现方便通过控制下标即可完成循环。 2. 初始时front rear 0每次插入一个元素rear向后走一位。 3. 判断“空” 和 “满”。如果 front 和 rear 下标相同队列为空还是满 4. 理解rear 1% k 1 front 。 若队列已满则rear 的下一个位置为 front。 此外每一次插入数据 或者 删除数据 后都要进行取模操作 防止 front 和 rear 走出实际数组的范围造成数组越界。 二、功能模块实现  1. MyCircularQueue(k): 设置队列长度为 k typedef struct {int* a; // 指向的空间用来存储元素int front;int rear;int k; } MyCircularQueue;​ MyCircularQueue* myCircularQueueCreate(int k) {MyCircularQueue* obj (MyCircularQueue*)malloc(sizeof(MyCircularQueue));obj-front obj-rear 0;obj-k k;obj-a (int*)malloc(sizeof(int) * (k 1));// 多创建1个空位// 该位置不用来存储元素仅用于判断队列“空”和“满”return obj; } 2. isEmpty(): 检查循环队列是否为空 bool myCircularQueueIsEmpty(MyCircularQueue* obj) {if(obj-rear obj-front)return true;elsereturn false; } 3. isFull(): 检查循环队列是否已满 bool myCircularQueueIsFull(MyCircularQueue* obj) {if((obj-rear 1) % (obj-k 1) obj-front)return true;elsereturn false; } 4. enQueue(value): 向循环队列插入一个元素。 如果成功插入则返回真。 bool myCircularQueueEnQueue(MyCircularQueue* obj, int value) {if(myCircularQueueIsFull(obj))return false;else{obj-a[obj-rear] value;obj-rear;obj-rear % obj-k 1;return true;} } 5. deQueue(): 从循环队列中删除一个元素。 如果成功删除则返回真。 bool myCircularQueueDeQueue(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj))return false;else{obj-front;obj-front % obj-k 1;return true;} } 6. Front: 从队首获取元素。 如果队列为空返回 -1 。 int myCircularQueueFront(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj))return -1;elsereturn obj-a[obj-front]; } 7. Rear: 获取队尾元素。 如果队列为空返回 -1 。  int myCircularQueueRear(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj))return -1;elsereturn obj-a[(obj-rear (obj-k 1) - 1) % (obj-k 1)]; } 8. QueueFree: 销毁循环队列 void myCircularQueueFree(MyCircularQueue* obj) {free(obj-a);free(obj); } 三、所有代码 typedef struct {int* a;int front;int rear;int k; } MyCircularQueue;MyCircularQueue* myCircularQueueCreate(int k) {MyCircularQueue* obj (MyCircularQueue*)malloc(sizeof(MyCircularQueue));obj-front obj-rear 0;obj-k k;obj-a (int*)malloc(sizeof(int) * (k 1));return obj; }bool myCircularQueueIsEmpty(MyCircularQueue* obj) {if(obj-rear obj-front)return true;elsereturn false; }bool myCircularQueueIsFull(MyCircularQueue* obj) {if((obj-rear 1) % (obj-k 1) obj-front)return true;elsereturn false; }bool myCircularQueueEnQueue(MyCircularQueue* obj, int value) {if(myCircularQueueIsFull(obj))return false;else{obj-a[obj-rear] value;obj-rear;obj-rear % obj-k 1;return true;} }bool myCircularQueueDeQueue(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj))return false;else{obj-front;obj-front % obj-k 1;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 (obj-k 1) - 1) % (obj-k 1)]; }void myCircularQueueFree(MyCircularQueue* obj) {free(obj-a);free(obj); }
http://www.pierceye.com/news/113367/

相关文章:

  • 做国际网站的上海高端网站公司wordpress 4.9.6 下载
  • 学校集约网站建设最牛餐饮营销手段
  • wordpress影视站网站太花哨
  • 青岛 机械 中企动力提供网站建设小说网站怎么做空间小
  • 通江县网站建设做网站到八方资源网怎么样
  • 国家网站建设ssh架构jsp网站开发
  • 浦东新区手机网站设计网络营销做得好的产品
  • 浙江市建设网站市场监督管理局电话举报电话
  • 企业网站的建设的功能定位菏泽百度推广公司电话
  • linux系统怎么做网站女生去住建局好不好
  • 自己搭建环境建设网站网站开发温州
  • 下沙做网站软件erp系统的主要功能
  • 郑州网站建设专家最新手机排行榜2021
  • 宠物店网站建设策划书重庆网站建设 红旗河沟
  • 一般网站自己可以做播放器吗最简单的一个网站开发
  • 网站的开发商务网站安全方案设计
  • 如何建立网站教材漳诈网站建设
  • 开家网站设计公司广州网站建设app开发
  • 建站服务公司网站源码成都游戏外包公司排名
  • 呼伦贝尔网站建设呼伦贝尔astro wordpress
  • 做网站需要好多钱专业制作广告字
  • 网站建设的需要是什么seo营销方案
  • 网站开发服务的协议wordpress自动翻译
  • 网站网站制作400多少钱wordpress 会员积分
  • 天津网站建设首选津坤科技做视频网站用什么好处
  • wordpress ffmpegsem seo是什么意思呢
  • 九江建网站的公司做废钢那个网站好
  • 做网站官网需多少钱wordpress查看访问者ip
  • 美食网站php源码wordpress 文章消失
  • 四川住房和城乡建设厅网站万达网站建设