по компютърни науки Лекции - купчина (стека)

обща информация

Стекът (комин) - е динамична структура от данни със сериен достъп. Достъп до елементите на стека, както следва, елементите от стека може да получите само в обратен ред, за да ги добавите към комина.

Примери на пакета включват:

  1. обикновени детски пирамида: голям пръстен, който носеше и преди, не могат да бъдат отстранени, без да махате малкото, което е бил пуснат на по-късна дата;
  2. железопътна линия: колата не може да бъде изхвърлен от задънената улица, а не преди това е управлявал колата, която се дължи по-късно;
  3. тръба с единия край спойка, където са поставени многоцветни бурета.

Последният пример е най-подходящ за концепцията за програмиране стека: взирайки се в тръбата, можем да видим, че бъчвите в тръбата там, или да видят цвета на горната барел, но ние не можем да видим, ако има бурета под върха, колко и какъв цвят са те.

стека работа е организирана на принципа на LIFO (Last първа изходяща) - последният, първа изходяща.

Елемент от тестето, която в момента може да отнеме, т.е. отгоре, наречен на върха на стека. Ако броят на елементите в стека не може да надвишава определена стойност, стека се нарича ограничен. и максимален брой елементи в него - дълбочината на стека.

Изпълнението на стека в C ++

Ето един пример, прилагането на неограничен стек от цели числа, основани на свързан списък.

Прилагане на шаблон "Stack"

Шаблон - празен за един клас, параметризирана клас. Нашата шаблон "комин" ще има един параметър - от типа на данните, от които ще се състои от комин. С помощта на шаблон е лесно да се декларират комини напълно произволни типове данни:

защото вече имаме готов клас "стек от цели числа", че е лесно да конвертирате в един модел "комин".