Возвращает массив, содержащий копии элементов вызывающего стека

В приведенном ниже примере программы создается стек, в который помещается несколько целых значений, а затем они извлекаются обратно из стека.

// Продемонстрировать применение класса Stack.

using System;

using System.Collections;

class StackDemo {

static void ShowPush(Stack st, int a) { st.Push(a);

Console.WriteLine("Поместить в стек: Push(" + a + ")"); Console.Write("Содержимое стека: "); foreach(int i in st)

Console.Write(i + " ");

Console.WriteLine();

}

static void ShowPop(Stack st) {

Console.Write("Извлечь из стека: Pop -> "); int a = (int) st.PopO;

Console.WriteLine(а);

Console.Write("Содержимое стека: "); foreach(int i in st)

Console.Write(i + " ");

Console.WriteLine();

}

static void Main() {

Stack st = new Stack ();

foreach(int i in st)

Console.Write(i + " ");

Console.WriteLine();

ShowPush(st, 22);

ShowPush(st, 65);

ShowPush(st, 91);

ShowPop(st);

ShowPop(st);

ShowPop(st) ;

try {

ShowPop(st) ;

} catch (InvalidOperationException) { Console.WriteLine("Стек пуст.");

}

} .

}

Ниже приведен результат выполнения этой программы. Обратите внимание на то, как обрабатывается исключениеInvalidOperationException,генерируемое при попытке извлечь элемент из пустого стека.

Поместить в стек: Push(22)

Содержимое стека: 22 Поместить в стек: Push(65)

Содержимое стека: 65 22 Поместить в стек: Push (91)

Содержимое стека: 91 65 22 Извлечь из стека: Pop -> 91 Содержимое стека: 65 22 Извлечь из стека: Pop -> 65 Содержимое стека: 22 Извлечь из стека: Pop -> 22 Содержимое стека:

Извлечь из стека: Pop -> Стек пуст.

Класс Queue

Еще одной распространейной структурой данных являетсяочередь,действующая по принципу: первым пришел — первым обслужен. Это означает, что первым из очереди извлекается элемент, помещенный в нее первым. Очереди часто встречаются в

реальной жизни. Многим из нас нередко приходилось стоять в очередях к кассе в банке, магазине или столовой. В программировании очереди применяются для хранения таких элементов, как процессы, выполняющиеся в данный момент в системе, списки приостановленных транзакций в базе данных или пакеты данных, полученные по Интернету. Кроме того, очереди нередко применяются в области имитационного моделирования.

Перейти на страницу:

Похожие книги