第2个回答 2023-03-09
循环队列通常使用数组实现,可以通过判断队列的头尾位置来判断队列的状态。由于循环队列可以利用数组内的空间,因此最多能输入的元素个数为 M - 1。
具体实现时,可以使用两个指针 front 和 rear 来表示队列的头和尾的位置,其中 front 表示队列的头部,rear 表示队列的尾部。初始时,front 和 rear 都指向数组的第一个位置,即 front = rear = 0。
当向队列中插入一个元素时,先将元素插入到 rear 指向的位置,然后将 rear 指针向后移动一位。当从队列中删除一个元素时,先将元素从 front 指向的位置删除,然后将 front 指针向后移动一位。
由于循环队列中留有一个空位置,只有当 (rear+1) % M == front 时队列才满,否则队列不满。
因此,该队列最多能输入的元素个数为 M-1。