Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
6шт_ответы_C#.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
29.27 Кб
Скачать

60. Колекція Stack. Навіщо використовується. Конструктори та основні особливості.

В С# под коллекцией понимается некоторая группа объектов. Все коллекции разработаны на основе четко определенных интерфейсов, поэтому стандартизируют способ обработки группы объектов. Среда .NET Framework поддерживает три основных типа коллекций: общего назначения, специализированные и ориентированные на побитовую организацию данных.

Stack (стек) -– частный случай однонаправленного списка, действующий по принципу: последним пришел – первым вышел (LIFO)

Синтаксис: [SerializableAttribute]

[ComVisibleAttribute(true)]

public class Stack : ICollection, IEnumerable,

ICloneable

Конструкторы:

Stack()Инициализирует новый пустой экземпляр класса Stack с начальной емкостью по умолчанию.

Stack(ICollection) Инициализирует новый экземпляр класса Stack, который содержит элементы, скопированные из указанной коллекции, и обладает начальной емкостью, равной количеству скопированных элементов.

Stack(Int32) Инициализирует новый экземпляр Stack, который является пустым и обладает указанной начальной емкостью или емкостью по умолчанию, в зависимости от того, какое значение больше.

Свойства:

Count Получает число элементов, содержащихся в интерфейсе Stack.

IsSynchronized Получает значение, показывающее, является ли доступ к коллекции Stackсинхронизированным (потокобезопасным).

SyncRoot Получает объект, с помощью которого можно синхронизировать доступ к коллекцииStack.

Особенности:

*Класс Stack реализован в виде циклического буфера.

*Емкость коллекции Stack — это количество элементов, которое может вместитьStack. Когда в коллекцию Stack добавляются элементы, ее емкость автоматически увеличивается должным образом посредством перераспределения.

*Если значение свойства Count меньше значения емкости стека, метод Pushявляется операцией O(1). Если требуется увеличить емкость для размещения нового элемента, метод Push становится операцией O(n), где параметр nопределяет значение свойства Count. Метод Pop является операцией порядка сложности O(1).

*Объект Stack принимает значение null как допустимое и разрешает дублировать элементы.

61. Колекція Queue. Навіщо використовується. Конструктори та основні особливості.

В С# под коллекцией понимается некоторая группа объектов. Все коллекции разработаны на основе четко определенных интерфейсов, поэтому стандартизируют способ обработки группы объектов. Среда .NET Framework поддерживает три основных типа коллекций: общего назначения, специализированные и ориентированные на побитовую организацию данных.

Queue (Очередь) – частный случай однонаправленного списка, действующего по принципу:первым пришел – первым вышел (FIFO).

В классе Queue определяются приведенные ниже конструкторы:

public Queue() - создается пустая очередь с выбираемыми по умолчанию емкостью

public Queue (int capacity) - создается пустая очередь, первоначальный размер которой определяет емкость, задаваемая параметром capacity

public Queue (int capacity, float growFactor) - допускается указывать не только емкость (в качестве параметра capacity), но и коэффициент роста создаваемой очереди (в качестве параметра growFactor в пределах от 1.0 до 10.0).

public Queue (ICollection col) - создается очередь, состоящая из элементов указываемой коллекции col. Ее первоначальная емкость равна количеству указанных элементов, а коэффициент роста по умолчанию выбирается для нее равным 2.0.

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

Емкость коллекции Queue — это количество элементов, которое может вместить коллекция Queue. Когда в коллекцию Queue добавляются элементы, ее емкость автоматически увеличивается должным образом посредством перераспределения. Емкость может быть уменьшена посредством вызова метода TrimToSize.

Коэффициент роста — это число, на которое умножается текущая емкость при необходимости ее увеличения. Коэффициент роста определяется при построении коллекции Queue. По умолчанию коэффициент роста равен 2,0. Емкость коллекции Queue всегда увеличивается не меньше, чем на 4, независимо от коэффициента роста. Например, каждый раз, когда требуется увеличить емкость коллекции Queue с коэффициентом роста, равным 1,0, эта емкость всегда увеличиваться на четыре.

В коллекции Queue значение null является допустимым. Также разрешается повторение элементов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]