stack empty () и stack size () в C ++ STL
Стеки - это тип контейнерных адаптеров с типом работы LIFO (Last In First Out), где новый элемент добавляется с одного конца, а (вверху) элемент удаляется только с этого конца.
Функция empty () используется для проверки, пуст ли контейнер стека.
Синтаксис:
имя стека .empty () Параметры: Параметры не передаются. Возврат: Верно, если стек пуст Ложь, иначе
Примеры:
Вход: mystack mystack.empty (); Выход: True Ввод: mystack = 1, 2, 3 Выход: ложь
Ошибки и исключения
1. Показывает ошибку, если параметр передан
2. Не показывает гарантию выброса исключения.
// CPP program to illustrate // Implementation of empty() function #include <iostream> #include <stack> using namespace std; int main() { stack< int > mystack; mystack.push(1); // Stack becomes 1 if (mystack.empty()) { cout << "True" ; } else { cout << "False" ; } return 0; } |
Выход:
Ложь
Заявка :
Учитывая стопку целых чисел, найдите сумму всех целых чисел.
Ввод: 1, 8, 3, 6, 2 Выход: 20
Алгоритм
1. Проверьте, пуст ли стек, если нет, добавьте верхний элемент к переменной, инициализированной как 0, и вытолкните верхний элемент.
2. Повторяйте этот шаг, пока стопка не станет пустой.
3. Выведите окончательное значение переменной.
// CPP program to illustrate // Application of empty() function #include <iostream> #include <stack> using namespace std; int main() { int sum = 0; stack< int > mystack; mystack.push(1); mystack.push(8); mystack.push(3); mystack.push(6); mystack.push(2); // Stack becomes 1, 8, 3, 6, 2 while (!mystack.empty()) { sum = sum + mystack.top(); mystack.pop(); } cout << sum; return 0; } |
Выход:
20
Функция size () используется для возврата размера контейнера стека или количества элементов в контейнере стека.
Синтаксис:
имя стека .size () Параметры: Параметры не передаются. Возврат: Количество элементов в контейнере.
Примеры:
Ввод: mystack = 0, 1, 2 mystack.size (); Выход: 3 Ввод: mystack = 0, 1, 2, 3, 4, 5 mystack.size (); Выход: 6
Ошибки и исключения
1. Показывает ошибку, если параметр передан.
2. Не показывает гарантию выброса исключения.
// CPP program to illustrate // Implementation of size() function #include <iostream> #include <stack> using namespace std; int main() { int sum = 0; stack< int > mystack; mystack.push(1); mystack.push(8); mystack.push(3); mystack.push(6); mystack.push(2); // Stack becomes 1, 8, 3, 6, 2 cout << mystack.size(); return 0; } |
Выход:
5
Заявка :
Учитывая стопку целых чисел, найдите сумму всех целых чисел.
Ввод: 1, 8, 3, 6, 2 Выход: 20
Алгоритм
1. Проверьте, равен ли размер стека нулю, если нет, добавьте верхний элемент к переменной, инициализированной как 0, и вытолкните верхний элемент.
2. Повторяйте этот шаг, пока размер стека не станет равным 0.
3. Выведите окончательное значение переменной.
// CPP program to illustrate // Application of size() function #include <iostream> #include <stack> using namespace std; int main() { int sum = 0; stack< int > mystack; mystack.push(1); mystack.push(8); mystack.push(3); mystack.push(6); mystack.push(2); // Stack becomes 1, 8, 3, 6, 2 while (mystack.size() > 0) { sum = sum + mystack.top(); mystack.pop(); } cout << sum; return 0; } |
Выход:
20