Що таке стек?
Слово стек має два значення, причому, абсолютно різних. Стеком називають і хлист, використовуваний наїзником при верховій їзді, і спеціальну організацію даних. У цій статті розповімо, що таке стек в обох сенсах слова.
Стек у верховій їзді
Стек у верховій їзді являє собою тонку гнучку тростину, як правило, в оплетке, забезпечену держаком і ляпасом. Розрізняють такі види стеків:
- конкурний - довжиною 75 сантиметрів з вузьким ляпасом;
- виездковий - довжиною 1-1,2 метра з фалом замість ляпанця;
- скакового - короткий стек (довжина менше 50 см) з широким жорстким ляпасом;
- собачий - короткий стек (довжина менше 50 см) з широким жорстким і довгим ляпасом.
Можна зустріти стеки, у яких замість ляпанця використовуються один або декілька "хвостів". Стеки застосовуються як для тренування коней, так і собак. Крім того, стек використовується в БДСМ-іграх.
Стек як організація даних
Поняття стека як особливу структуру організації даних ввів англійський математик, учений Алан Тьюринг. Дана структура являє собою список елементів, видобутих за принципом - LIFO: last in - first out, що в перекладі означає: останній зайшов - перший вийшов. Для опису алгоритму LIFO часто наводять приклад зі стопкою тарілкою - якщо ми хочемо взяти другу тарілку з стопки, спочатку нам буде потрібно підняти першу, звичайно, якщо ми хочемо впоратися без втрат.
У більшості випадків стек організовується у вигляді односпрямованого списку, тобто такого, в якому будь-який елемент пов'язаний тільки з наступним.
У деяких мовах програмування (наприклад, Lisp і Python) стеком називають будь-який список.
Більше цікавого шукайте в розділі Визначення.