Презентація на тему: «Стек та черга у C#»

Як працювати з елементами стека - як додати елемент у стек і як вилучити елемент з стека?

При цьому варто пам'ятати про те, що додається елемент завжди в вершину стека і вилучається також із вершини, тому для того, щоб додати / вилучити елемент, не потрібно вказувати його місце розташування (індекс).

Стек створюється за допомогою наступного конструктора:

Stack myStack = new Stack ();

У дужках можна вказати початкову довжину стека:

 

Stack myStack = new Stack (10);

Створили стек з довжиною рівною 10, якщо додамо в нього більше елементів, то довжина зміниться автоматично.

—Push (елемент); - додає заданий елемент у стек

—Peek (); - повертає елемент, що знаходиться у вершині стека

—Pop (); - повертає елемент, що знаходиться у вершині стека, видаляючи при цьому його зі стека

Щоб додати елемент у стек, потрібно викликати метод Push, передавши йому як параметр добавляемое значення.

Приклад:

Stack myStack = new Stack();

  1. Push(“Каждый”);
  2. Push(“Охотник”);
  3. Push(“Желает”);
  4. Push(“Знать”);
  5. Push(“Где”);
  6. Push(“Сидит”);
  7. Push(“Фазан”);

У стек можна додати порожній елемент, передавши методу Push значення NULL.

Для добування елементів зі стеку використовується метод Pop. Цей метод добуває зі стеку один елемент:

  1. WriteLine (myStack.Pop ());

При спробі витягти елемент з пустого стека виникає виключення. Тому потрібно передбачити обробник виключень.

Для контролю поточного розміру стека використовується метод Count

  1. Count ();
  2. Метод Peek дозволяє подивитися вміст верхівки стека, не витягуючи елемент з стека.

    1. WriteLine (myStack.Peek ());

Вміст стека можна подивитися за допомогою ітератора класу IEnumerator

Приклад:

IEnumerator myEnumerator = myStack.GetEnumerator ();

while (myEnumerator.MoveNext ())

{

  1. WriteLine ("{0}", myEnumerator.Current);

}

Слід звернути увагу на те, що елементи виведуться не в порядку додавання а в зворотному. Перегляд стека за допомогою ітератора не змінює вмісту стека.

Яндекс.Метрика