ТОРГОВЫЙ ЗАЛ


Рис. 2.9. Графическое представление очереди Объявление пустой очереди

#define Maxg 5

float git[Maxg];

frnt=l; rear=0;

Игнорируя возможность переполнения очереди, операцию insert(g, x) запишем следующим образом:

геаг++; git[rear] = х; ,

а операцию х = remove(g) так:

x = git[frnt;

frnt++; .

На рис. 2.10 показано, что произойдет при таком представлении.


 

 

 

 

 

 

 

 

 

 

 

 

  git   git   git   git  
5 4 3 2   5 4 3 2 1   5 4 3 2 1 с 5 4 3 2 1 e d с  
 
  с
  b a  
   
frnt= rear= 1 rear= 0 frnt= 3 frnt= 1 rear= 1 rear= 3 frnt=: 5 3

Рис. 2.10. Элементы в очереди

Изначально очередь пуста. Размер массива git будет 5. В результате выполнения операции insert и remove в очереди будут находиться три элемента. Больше поместить нельзя.

Одним из решений этой проблемы является модификация операции remove таким образом, чтобы при удалении элемента смещать очередь к началу.