English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Utilizzo e esempio della funzione empty() di C++ Stack

C++ STL Stack(栈)

La funzione empty() di C++ Stack viene utilizzata per testare se il contenitore è vuoto. In molti casi, prima di estrarre l'elemento reale dallo stack, il programmatore verifica se lo stack contiene effettivamente alcuni elementi. Questo è vantaggioso in termini di archiviazione e costi.

Sintassi

bool empty() const;

Parametro

Nessun parametro. Poiché questa funzione è utilizzata solo a scopo di test, viene applicata direttamente allo stack. Pertanto, non vengono trasmessi alcuni parametri.

Valore di ritorno

Se il contenitore richiamato è vuoto, questo metodo restituisce "true", altrimenti restituisce "false". Questo metodo è utilizzato solo a scopo di test, quindi il valore restituito è basato sul risultato del test.

Esempio 1

//Il seguente programma è stato fornito per verificare se il contenitore è vuoto.

#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 << "Il risultato è: " << sum;
	return 0;
}
return 0;
}

输出:

Il risultato è: 55

Esempio 2

//Il seguente programma è stato fornito per verificare se il contenitore è vuoto.

#include <iostream>
#include <stack>
using namespace std;
int main()
{
	std::stack<int> newstack;
	newstack.push(69);
	//Controlla se lo stack è vuoto
	if(newstack.empty())
	{
		cout<<"堆栈为空,插入一些元素以继续前进";
	}
	else
	{
		cout<<"元素出现在堆栈中";
	}
	return 0;
}

输出:

元素出现在堆栈中

复杂

该函数仅用于检测容器是否为空,因此不接受任何参数并且具有恒定的复杂性。

数据争用

仅访问容器。访问堆栈以检查元素的存在。并非所有元素都可以通过此函数访问,但是可以一眼检查一下容器是否为空或是否存在。

异常安全

提供了与在底层容器对象上执行的操作相同的保证。

C++ STL Stack(栈)