C ++ Stack empty()函數(shù)用于測(cè)試容器是否為空。在許多情況下,在從堆棧中提取實(shí)際元素之前,程序員會(huì)優(yōu)先檢查堆棧是否確實(shí)包含某些元素。這樣做在存儲(chǔ)和成本方面是有利的。
bool empty() const;
沒(méi)有參數(shù)。由于該函數(shù)僅用于測(cè)試目的,因此它直接應(yīng)用于堆棧。因此,不會(huì)傳遞任何參數(shù)。
如果引用的容器為空,則該方法返回“ true”,否則返回“ false”。該方法僅用于測(cè)試目的,因此將根據(jù)測(cè)試結(jié)果返回值。
//下面給出的程序用于檢測(cè)容器是否為空。
#include <iostream> #include <stack> int main() { std::stack<int> newstack; int sum=0; for (int j=1; j<=10; j++) newstack.push(j); while (!newstack.empty ()) { sum += newstack.top (); newstack.pop (); } std::cout << "結(jié)果是: " << sum; return 0; } return 0; }
輸出:
結(jié)果是: 55
//下面給出的程序用于檢測(cè)容器是否為空。
#include <iostream> #include <stack> using namespace std; int main() { std::stack<int> newstack; newstack.push(69); //檢查堆棧是否為空 if(newstack.empty()) { cout<<"堆棧為空,插入一些元素以繼續(xù)前進(jìn)"; } else { cout<<"元素出現(xiàn)在堆棧中"; } return 0; }
輸出:
元素出現(xiàn)在堆棧中
該函數(shù)僅用于檢測(cè)容器是否為空,因此不接受任何參數(shù)并且具有恒定的復(fù)雜性。
僅訪問(wèn)容器。訪問(wèn)堆棧以檢查元素的存在。并非所有元素都可以通過(guò)此函數(shù)訪問(wèn),但是可以一眼檢查一下容器是否為空或是否存在。
提供了與在底層容器對(duì)象上執(zhí)行的操作相同的保證。