+
Вход

Въведи своя e-mail и парола за вход, ако вече имаш създаден профил в DEV.BG/Jobs

Забравена парола?
+
Създай своя профил в DEV.BG/Jobs

За да потвърдите, че не сте робот, моля отговорете на въпроса, като попълните празното поле:

115+60 =
+
Забравена парола

Въведи своя e-mail и ще ти изпратим твоята парола

C++ Стек

C++

Стекът е линейна структура от данни. Работи на принципа LIFO (Last-In First-Out), тоест последен влязъл – първи излязъл. Можем да добавяме и изваждаме елементи само от едната страна.

Уроци по програмиране

За работа със стекове е необходимо да добавите библиотеката stack:

  1. #include <stack>

Декларирането на стек става по следния начин:

  1. //stack<тип_данни> име_на_стека;
  2. stack<int> s;

Стекът поддържа следните функции:

 

    • empty() – връща TRUE ако стека няма елементи
    • pop() – премахва най-горния елемент на стека
    • push() – добавя елемент отгоре на стека
    • size() – връща броя елементи в стека
    • top() – връща стойността на най-горния елемент на стека

Задача: Разгледайте и тествайте следната програма, която показва всички функции в действие:

  1. #include <iostream>
  2. #include <stack>
  3. using namespace std;
  4. int main()
  5. {
  6.     stack<int> s;
  7.     cout<<„Broi elementi:“<<s.size()<<endl;
  8.     s.push(1);
  9.    s.push(2);
  10.    s.push(3);
  11.    cout<<„Broi elementi:“<<s.size()<<endl;
  12.    cout<<„Gorniq element:“<<s.top()<<endl;
  13.    s.pop();
  14.    cout<<„Broi elementi:“<<s.size()<<endl;
Днес те питаме…

Стартирахме нов канал @DEV.BG в TikTok. Какво е мнението ти?
Loading ... Loading …
  •    cout<<„Gorniq element:“<<s.top()<<endl;
  •    s.pop();
  •    cout<<„Broi elementi:“<<s.size()<<endl;
  •    cout<<„Gorniq element:“<<s.top()<<endl;
  •    cout<<„–––––––––„<<endl;
  •    stack<char> a;
  •    a.push(‘a’);
  •    a.push(‘b’);
  •    a.push(‘c’);
  •    a.push(‘d’);
  •    a.push(‘e’);
  •    a.push(‘f’);
  •    a.push(‘g’);
  •    cout<<„Broi elementi:“<<a.size()<<endl;
  •    while(!a.empty()){
  •    cout<<„Gorniq element:“<<a.top()<<endl;
  •    a.pop();
  •    }
  •    cout<<„Broi elementi:“<<a.size()<<endl;
  •    return 0;
  • }
  • Автор: Мартин Михайлов