Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/studb20/public_html/index.php on line 4
 1.19.3 Черги - Програмування С, С++теорія та практика (частина 1) - Studbook

Програмування С, С++теорія та практика (частина 1)

1.19.3 Черги

Черга - це лінійний список, де елементи вилучаються з початку списку, а додаються в кінець (як звичайна черга в магазині).

Двостороння черга - це лінійний список, у якого операції додавання, вилучення і доступу до елементів можливі як спочатку так і в кінці списку. Таку чергу можна уявити як послідовність книг, що стоять на полиці так, що доступ до них можливий з обох кінців.

Черга є частковим випадком односпрямованого списку. Вона реалізує принцип РІРО (йгкі іп - йгкі оиі, першим прийшов - першим пішов).

Черги створюються аналогічно до лінійних списків та стеків. ■Ьурегіе£ 1опд е1епЛуре;

■Ьурегіе£ з'Ьгис'Ь пойе {

е1епЛуре Vа1; з'Ьгис'Ь пойе *пеx■Ь;

} диеие;

1.  Початкове формування черги диеие *£ігз£ (е1епЛуре Й)

{

диеие *рV=(диеие*) са11ос(1,зігео£(диеие) ) ;

рV->Vа1=й.;

рV->пеx^=N^^^;

ге'Ьигп рV;

}

2.    Додавання елемента в кінець

VОій айй (диеие **репй, е1епЛуре й)

{

диеие *рV=(диеие*) са11ос(1,зігео£(диеие) ) ; рV->Vа1=й;

рV->пех£=ниьь;

(*репй)->пеx^=рV;

*репй=рV;

}

3.    Вилучення елемента з кінця е1епЛуре йе1(диеие **рЬед)

{

е1епЛуре £етр=(*рЬед)-^а1 диеие *рV=*рЬед;

*рЬед=(*рЬед)->пех£;

£гее(рV) ге'Ьигп ^етр;

}

 

98