我的世界怎么做神器官方网站,多人在线协作网站开发,女生适合前端还是后端,免费ppt成品网站目录 1.解题思路2.代码实现 1.解题思路
首先#xff0c;该题是设计循环队列#xff0c;因此我们有两种实现方法#xff0c;即数组和链表#xff0c;但具体考虑后#xff0c;发现数组实现要更容易一些#xff0c;因此使用数组实现#xff0c;因此我们要给出头和尾变量该题是设计循环队列因此我们有两种实现方法即数组和链表但具体考虑后发现数组实现要更容易一些因此使用数组实现因此我们要给出头和尾变量个数变量以及一个数组,利用取模运算来达到想要的效果要特别注意的是为了方便个数的统计以及在判断队列是否为满方便一些因此在开辟空间的时候直接多开辟一块即有效空间为K而实际开辟空间为K1.
2.代码实现 typedef struct {int *a;int front;int back;int k;
} MyCircularQueue;bool myCircularQueueIsFull(MyCircularQueue* obj) {return obj-front(obj-back1)%(obj-k1);}
bool myCircularQueueIsEmpty(MyCircularQueue* obj) {return obj-frontobj-back;}MyCircularQueue* myCircularQueueCreate(int k) {MyCircularQueue*obj(MyCircularQueue*)malloc(sizeof(MyCircularQueue));obj-a(int *)malloc(sizeof(int)*(k1));obj-front0;obj- back0;obj-kk;return obj;
}bool myCircularQueueEnQueue(MyCircularQueue* obj, int value) {if(myCircularQueueIsFull(obj))return false;obj-a[obj-back]value;obj-back;obj-back%(obj-k1);return true;
}bool myCircularQueueDeQueue(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj))return false;obj-front;obj-front%(obj-k1);return true;}int myCircularQueueFront(MyCircularQueue* obj) {if(myCircularQueueIsEmpty(obj))return -1;return obj-a[obj-front];}int myCircularQueueRear(MyCircularQueue* obj) {if( myCircularQueueIsEmpty( obj))return -1;return obj-a[(obj-back-1obj-k1)%(obj-k1)];}void myCircularQueueFree(MyCircularQueue* obj) {free(obj-a);free(obj);
}结尾今天的分享到此结束喜欢的朋友如果感觉有帮助可以点赞三连支持咱们共同进步!