ВУЗ:
Составители:
Рубрика:
76
Очередь, как и стек, является еще одним частным случаем
однонаправленного списка. Добавление элементов в очередь выполняется в
один конец («хвост»), а выборка производится с другого конца («головы»);
при выборке элемент исключается из очереди. Другие операции с очередью
не определены. Очередь реализует принцип обслуживания FIFO («first in –
first out», первым пришел – первым вышел).
В С# очередь представляется классом Queue, который также как и стек
реализуется как коллекция общего назначения и как класс-обобщение.
Среди методов и свойств класса Queue выделяют:
Count – свойство получения числа элементов в очереди;
Enqueue(object) – метод добавления элемента в очередь;
Dequeue() – метод извлечения элемента из очереди;
Peek() – метод получения элемента, который находится в вершине
очереди, не извлекая его;
Contains(object) – метод проверки наличия в очереди заданного
объекта;
Clear() – очистка очереди.
Рассмотрим пример использования очереди. Пусть дан массив целых
чисел. Распечатать элементы этого массива по группам: сначала все числа,
заканчивающиеся на 0, затем – на 1, и т.д.
Для решения задачи будем использовать массив очередей. Каждая
очередь из массива будет хранить коллекцию чисел, заканчивающихся на
цифру, которая одновременно является номером очереди.
static void Reordering(int [] x)
{
// Создаем массив очередей для хранения чисел, в которых
// последние цифры совпадают с номером элемента массива
Queue[] numbers = new Queue[10];
for (int i = 0; i < 10; i++)
numbers[i] = new Queue();
// Распределяем числа из массива
// по соответствующим очередям
foreach (int el in x)
{
int k = el % 10;
numbers[k].Enqueue(el);
}
// Печать групп чисел путем извлечения
// элементов из очередей
for (int i = 0; i < 10; i++)
Очередь, как и стек, является еще одним частным случаем
однонаправленного списка. Добавление элементов в очередь выполняется в
один конец («хвост»), а выборка производится с другого конца («головы»);
при выборке элемент исключается из очереди. Другие операции с очередью
не определены. Очередь реализует принцип обслуживания FIFO («first in –
first out», первым пришел – первым вышел).
В С# очередь представляется классом Queue, который также как и стек
реализуется как коллекция общего назначения и как класс-обобщение.
Среди методов и свойств класса Queue выделяют:
Count – свойство получения числа элементов в очереди;
Enqueue(object) – метод добавления элемента в очередь;
Dequeue() – метод извлечения элемента из очереди;
Peek() – метод получения элемента, который находится в вершине
очереди, не извлекая его;
Contains(object) – метод проверки наличия в очереди заданного
объекта;
Clear() – очистка очереди.
Рассмотрим пример использования очереди. Пусть дан массив целых
чисел. Распечатать элементы этого массива по группам: сначала все числа,
заканчивающиеся на 0, затем – на 1, и т.д.
Для решения задачи будем использовать массив очередей. Каждая
очередь из массива будет хранить коллекцию чисел, заканчивающихся на
цифру, которая одновременно является номером очереди.
static void Reordering(int [] x)
{
// Создаем массив очередей для хранения чисел, в которых
// последние цифры совпадают с номером элемента массива
Queue[] numbers = new Queue[10];
for (int i = 0; i < 10; i++)
numbers[i] = new Queue();
// Распределяем числа из массива
// по соответствующим очередям
foreach (int el in x)
{
int k = el % 10;
numbers[k].Enqueue(el);
}
// Печать групп чисел путем извлечения
// элементов из очередей
for (int i = 0; i < 10; i++)
76
Страницы
- « первая
- ‹ предыдущая
- …
- 75
- 76
- 77
- 78
- 79
- …
- следующая ›
- последняя »
