Свързана опашка. Основни операции в C++
Указателят F сочи особен елемент със същата структура като останалите елементи в опашката, като в полето му link се съдържа указател към първия елемент на опашката. Празна опашка – F == NULL или F == R.
Операции за включване и изключване на елемент от опашка:
typedef double INFO_TYPE;
struct queue_el{
INFO_TYPE info;
queue_el *link;
}
void enqueue(queue_el *&r, INFO_TYPE x){
queue_el *p;
if((p = new queue_el) == NULL){
cout<<”\nНяма свободна памет.\n”;
exit(1);
}
p->info = x;
p->link = NULL;
r->link = p;
r = p;
}
INFO_TYPE dequeue(queue_el *f, queue *&r){
INFO_TYPE x;
queue_el *p = f->link;
if(p == NULL){
cout<<”\nОпашката е празна.\n”;
exit(1);
}
f->link = p->link;
x = p->info;
delete p;
if(f->link == NULL) //ако е имало само 1 елемент
r = f;
return x;
}
void main()
{
INFO_TYPE y = 7.25;
queue_el Q = {0, NULL}, *F = &Q, **R = F;
// Q – фиктивния елемент, създава празна опашка
// ………………..
enqueue(R, y);
// ………………..
y = dequeue(F, R);
y = dequeue(F, R); //Опашката е празна.
// ………………..
}
Сходни статии:
- Свързан стек. Основни операции typedef int INFO_TYPE; struct stack_el{ INFO_TYPE info; stack_el *link; }; //Функция за добавяне на елемент void push(stack_el **t, INFO_TYPE x) //Указателят към върха на стека трябва да се промени, затова...
- Опашка в C++ В настоящата курсова работа ще бъде представена абстрактната структура опашка и ще бъде представена примерна нейна реализация. Кодът представен в този реферат е написан от автора и се компилира успешно...
- Списък, стек и опашка в програмен език C Списък Дефиниция. Линеен списък (или само списък) се нарича последователност от n (n>=0) елемента x1,x2, …,xn подредени последователно (линейно). При n=0 списъкът се нарича празен. Ако n>0, то x1 се...
- Основни елементи на езика C Езикът С е структурен език , много мощен и гъвкав. Първата разработка е на Денис Ричи съвместно с Кен Томпсън през 1972. Като всеки език и той се характеризира със...
- Основни символи, коментари, константи и променливи в С++ автори: Кирил Любчев Георгиев Георги Димитров Митковски Редица от инструкции, водеща до решаване на определена задача, се нарича програма, а процесът на писане на програми – програмиране. Инструкциите, с помощта...