+
Вход

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

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

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

101+58 =
+
Забравена парола

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

C++ Опашка

C++

Oпашката е линейна структура от данни. Работи на принципа FIFO (First-In First-Out), тоест първи влязъл – първи излязъл. Можем да добавяме елементи само в края на опашката и да изваждаме само от началото. За пример можем да вземем опашката на магазина, когато се наредите последни на опашката, то последни и ще излезете, съответно първият, влязъл в опашката, излиза първи. Принципът е същият.

За работа с опашки е необходимо да добавите библиотеката <strong>queue</strong>:

  1. #include <queue>

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

  1. //queue<тип_данни> име_на_опашката;
  2. queue<int> q;

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

 

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

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

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

Стартирахме нов канал @DEV.BG в TikTok. Какво е мнението ти?
Loading ... Loading …
  •     cout<<„Purviq element:“<<q.front()<<endl;
  •     cout<<„Posledniq element:“<<q.back()<<endl;
  •     q.pop();
  •     cout<<„Broi elementi:“<<q.size()<<endl;
  •     cout<<„Purviq element:“<<q.front()<<endl;
  •     cout<<„Posledniq element:“<<q.back()<<endl;
  •     cout<<„–––––––––„<<endl;
  •     queue<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()){
  •     a.pop();
  •     cout<<„Broi elementi:“<<a.size()<<endl;
  •     }
  •     return 0;
  • }
  • Опашките намират широко приложение в програмирането. Много алгоритми, свързани с графи (като например BFS – Breadth First Search), използват опашки.

    Автор: Мартин Михайлов