您的位置:首页 > 健康 > 美食 > 初中文化如何提升学历_职称论文写作网站_大二网页设计作业成品_电脑突然多了windows优化大师

初中文化如何提升学历_职称论文写作网站_大二网页设计作业成品_电脑突然多了windows优化大师

2025/9/17 21:33:31 来源:https://blog.csdn.net/m0_74978334/article/details/145942440  浏览:    关键词:初中文化如何提升学历_职称论文写作网站_大二网页设计作业成品_电脑突然多了windows优化大师
初中文化如何提升学历_职称论文写作网站_大二网页设计作业成品_电脑突然多了windows优化大师

思路展示:

代码实现:

typedef struct {int *a;int front;int rear;int k;
} MyCircularQueue;bool myCircularQueueIsEmpty(MyCircularQueue* obj);bool myCircularQueueIsFull(MyCircularQueue* obj);
MyCircularQueue* myCircularQueueCreate(int k) {MyCircularQueue* obj=(MyCircularQueue*)malloc(sizeof(MyCircularQueue));obj->front=obj->rear=0;obj->a=(int *)malloc(sizeof(int)*(k+1));obj->k=k;return obj;
}bool myCircularQueueEnQueue(MyCircularQueue* obj, int value) {if(myCircularQueueIsFull(obj)){return false;}obj->a[obj->rear]=value;obj->rear++;obj->rear%=(obj->k+1);return true;
}bool myCircularQueueDeQueue(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj)){return false;}++obj->front;obj->front%=(obj->k+1);return true;
}int myCircularQueueFront(MyCircularQueue* obj)//取第一个元素
{if(myCircularQueueIsEmpty(obj)){return -1;}else{return obj->a[obj->front];}
}int myCircularQueueRear(MyCircularQueue* obj) {//return obj->a[obj->rear-1];  不能这样访问,如果这样访问那么当rear移动到开头那么rear-1就是-1就是越界访问了if( myCircularQueueIsEmpty(obj)){return -1;}else{return obj->a[(obj->rear-1+obj->k+1)%(obj->k+1)];//如果rear-1>0那么rear-1+k再模k是不变的}
}bool myCircularQueueIsEmpty(MyCircularQueue* obj) {return obj->front==obj->rear;
}bool myCircularQueueIsFull(MyCircularQueue* obj) {return (obj->rear+1)%(obj->k+1)==obj->front;
}void myCircularQueueFree(MyCircularQueue* obj) {free(obj->a);free(obj);
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com