Потребителски панел
Запомни
Категории
C/C++ (17)
C# (8)
Java (5)
Visual Basic (19)
Delphi/Pascal (11)
Python (4)
Assembly (0)
Други (0)
Facebook
Опашка | Автор: admin | Дата: 17.12.2010


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



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

Декларирането на опашка става по следния начин:
//queue<тип_данни> име_на_опашката;
queue<int> q;

Опашката поддържа следните функции:
back() - връща стойността на последния елемент от опашката
empty() - връща TRUE ако опашката няма елементи
front() - връща стойноста на първия елемент от опашката
pop() - премахва първия елемент от опашката
push() - добавя елемент в края на опашката
size() - връща броя елементи в опашката

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

#include <iostream>
#include <queue>
using namespace std;

int main()
{
queue<int> q;
cout<<"Broi elementi:"<<q.size()<<endl;
q.push(1);
q.push(2);
q.push(3);
cout<<"Broi elementi:"<<q.size()<<endl;
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;
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) използват опашки.

Урока е подготвен специално за Programming-BG.com. Моля не копирайте без мое съгласие!

           


Беше ли Ви от полза урокът?
да не




Искате да пишете коментари? Влезте от тук или се регистрирайте!



Все още няма коментари за този урок.