Практикум по курсу "Объектно-ориентированное программирование" на языке C#. Андрианова А.А - 75 стр.

UptoLike

74
коллекции-обобщения, одинаковы. Так, классы ArrayList и List<T>
имеют одинаковые методы для добавления элементов в список, удаления
заданного элемента из списка, просмотра элементов списка и т.д.
Единственным серьезным отличием является только то, что ArrayList не
следит за типами объектов, которые хранятся в списке. Поэтому
преобразование их к требуемому типу данных становится задачей
разработчика программы.
Далее разберем принципы работы с указанными структурами данных
на нескольких примерах.
6.1. Использование стеков и очередей
Стек это динамическая линейная структура данных, в которой
добавление элементов и их извлечение выполняются с одного конца,
называемого вершиной стека (головой - head). При выборке элемент
исключается из стека. Другие операции со стеком не определены. Говорят,
что стек реализует принцип обслуживания LIFO («last in first out»
«последни пришел – первым вышел»).
Среди коллекций языка C# реализованы классы стека как класса
общего назначения, так и стека как класса-обобщения.
Среди методов и свойств класса Stack выделяют:
Count свойство для получения числа элементов в стеке;
Push(object) метод добавления элемента в стек;
Pop() метод извлечения элемента из стека;
Peek() метод получения элемента, который находится в вершине
стека, не извлекая его;
Contains(object) метод проверки наличия в стеке заданного
объекта;
Clear() очистка стека.
Стек часто используется в алгоритмах как вспомогательная структура
данных в тех случаях, когда требуется изменить порядок каких-либо
элементов на обратный. В качестве примера рассмотрим следующую задачу.
Пусть дано целое положительное число. Требуется перевести его в
заданную систему счисления.
Напомним, что при переводе числа в другую систему счисления
производится последовательное получение остатков от деления числа на
основание системы счисления, которые при записи в обратном порядке
коллекции-обобщения, одинаковы. Так, классы ArrayList и List
имеют одинаковые методы для добавления элементов в список, удаления
заданного элемента из списка, просмотра элементов списка и т.д.
Единственным серьезным отличием является только то, что ArrayList не
следит за типами объектов, которые хранятся в списке. Поэтому
преобразование их к требуемому типу данных становится задачей
разработчика программы.
      Далее разберем принципы работы с указанными структурами данных
на нескольких примерах.


                  6.1. Использование стеков и очередей

     Стек – это динамическая линейная структура данных, в которой
добавление элементов и их извлечение выполняются с одного конца,
называемого вершиной стека (головой - head). При выборке элемент
исключается из стека. Другие операции со стеком не определены. Говорят,
что стек реализует принцип обслуживания LIFO («last in – first out» –
«последни пришел – первым вышел»).
     Среди коллекций языка C# реализованы классы стека как класса
общего назначения, так и стека как класса-обобщения.
     Среди методов и свойств класса Stack выделяют:
    Count – свойство для получения числа элементов в стеке;
    Push(object) – метод добавления элемента в стек;
    Pop() – метод извлечения элемента из стека;
    Peek() – метод получения элемента, который находится в вершине
     стека, не извлекая его;
    Contains(object) – метод проверки наличия в стеке заданного
     объекта;
    Clear() – очистка стека.
     Стек часто используется в алгоритмах как вспомогательная структура
данных в тех случаях, когда требуется изменить порядок каких-либо
элементов на обратный. В качестве примера рассмотрим следующую задачу.
     Пусть дано целое положительное число. Требуется перевести его в
заданную систему счисления.
     Напомним, что при переводе числа в другую систему счисления
производится последовательное получение остатков от деления числа на
основание системы счисления, которые при записи в обратном порядке

                                                                     74