在C++ STL中的Deque::empty() 和 deque::size()应用
在C++ STL(标准模板库)中,deque是一种双向队列(double-ended queue)容器,可以在两端添加或删除元素。在使用deque时,我们可能需要知道它是否为空,以及它的大小。这时就可以使用deque的成员函数empty()和size()来完成。
deque::empty()
empty()是deque的一个成员函数,用于判断deque是否为空。如果deque为空,返回true;否则返回false。可以使用if语句判断deque是否为空:
#include <deque>
#include <iostream>
using namespace std;
int main() {
deque<int> myDeque;
if (myDeque.empty()) {
cout << "myDeque is empty" << endl;
} else {
cout << "myDeque is not empty" << endl;
}
return 0;
}
代码解析:首先从头文件中包含了deque的定义。接着定义了一个空的deque,并用empty()方法判断它是否为空。如果为空,输出“myDeque is empty”;否则输出“myDeque is not empty”。
deque::size()
size()是deque的一个成员函数,用于返回deque中元素的个数。可以使用cout语句输出deque的大小:
#include <deque>
#include <iostream>
using namespace std;
int main() {
deque<int> myDeque;
myDeque.push_back(1);
myDeque.push_back(2);
myDeque.push_back(3);
cout << "myDeque has " << myDeque.size() << " elements." << endl;
return 0;
}
代码解析:同样从头文件中包含了deque的定义。接着定义了一个初始为空的deque,并用push_back()方法向尾部添加三个元素。最后使用size()方法返回了deque中元素的个数,并用cout语句输出结果。
需要注意的是,size()方法返回的是deque中元素的个数,而不是可用的空间大小。即使deque被扩容了,它内部仍然只有size()所返回的元素个数。
结论
在C++ STL中,deque是非常实用的容器之一,可以在头部和尾部高效地添加或删除元素。因此,在使用deque时,要经常使用empty()和size()方法来判断deque是否为空,以及获取deque中元素的个数。只有充分利用deque的各种方法,才能发挥它的最佳性能。