m *first = _front->next;
_front->next = first->next;
//如果队中只有一个元素,被删除了,由于这个出队的元素要delete,所以,_rear 就丢失信息了,这个时候要记得把_rear=nullprt
if (_front->next == nullptr) { _rear = _front; }
delete first;
}
//队是否为空
bool empty() {
return _front == _rear;
}
T front() {
return _front->next->data;
}
};
template<typename T>
typename MyQueue<T>::QueueItem * MyQueue<T>::QueueItem::poolItemList =nullptr;
int main() {
MyQueue<int> mq;
for (int i = 0; i < 100000; i++) {
mq.push(i);
mq.pop();
}
bool isEmpty = mq.empty();
cout << isEmpty << endl;
system("pause");
return 0;
}
|