Чтение онлайн

на главную - закладки

Жанры

C# 4.0 полное руководство - 2011

Шилдт Герберт

Шрифт:

public void

Удаляет из списка узел, соответствующий ука

Remove(LinkedList<T>

node)

занному узлу node. Если узел node отсутствует в списке, то генерируется исключение

InvalidOperationException

public void RemoveFirst

Удаляет

из списка первый узел

public void RemoveLast

Удаляет из списка последний узел

В приведенном ниже примере программы демонстрируется применение класса

LinkedList<T>.

// Продемонстрировать применение класса LinkedList<T>. using System;

using System.Collections.Generic;

class GenLinkedListDemo { static void Main {

// Создать связный список.

LinkedList<char> 11 = new LinkedList<char>;

Console.WriteLine("Исходное количество элементов в списке: " + 11.Count) Console.WriteLine ;

Console.WriteLine("Добавить в список 5 элементов");

// Добавить элементы в связный список.

11.AddFirst('А');

11.AddFirst('В');

11.AddFirst('С') ;

11.AddFirst(' D') ;

11.AddFirst('Е *);

Console.WriteLine("Количество элементов в списке: " + 11.Count);

// Отобразить связный список, обойдя его вручную.

LinkedListNode<char> node;

Console.Write("Отобразить содержимое списка по ссылкам: "); for(node = 11.First; node != null; node = node.Next)

Console.Write(node.Value + " ") ;

Console.WriteLine("\n") ;

// Отобразить связный список, обойдя его в цикле foreach.

Console.Write("Отобразить содержимое списка в цикле foreach: "); foreach(char ch in 11)

Console.Write(ch + " ");

Console.WriteLine("\n");

// Отобразить связный список, обойдя его вручную в обратном направлении. Console.Write("Следовать по ссылкам в обратном направлении: "); for(node = 11.Last; node != null; node = node.Previous)

Console.Write(node.Value + " ");

Console.WriteLine ("\n");

// Удалить из списка два элемента.

Console.WriteLine("Удалить 2 элемента из списка");

// Удалить элементы из связного списка.

11.Remove(1С1);

11.Remove('А');

Console.WriteLine("Количество

элементов в списке: " + 11.Count);

// Отобразить содержимое видоизмененного списка в цикле foreach.

Console.Write("Содержимое списка после удаления элементов: "); foreach(char ch in 11)

Console.Write(ch + " ");

Console.WriteLine ("\n");

// Добавить три элемента в конец списка.

11.AddLast('X');

11.AddLast('Y');

11.AddLast('Z');

Console.Write("Содержимое списка после ввода элементов: "); foreach(char ch in 11)

Console.Write(ch + " ");

Console.WriteLine("\n");

}

}

Ниже приведен результат выполнения этой программы.

. Исходное количество элементов в списке: О

Добавить в список 5 элементов Количество элементов в списке: 5

Отобразить содержимое списка по ссылкам: Е D С В А

Отобразить содержимое списка в цикле foreach: Е D С В А

Следовать по ссылкам в обратном направлении: А В С D Е

Удалить 2 элемента из списка Количество элементов в списке: 3

Содержимое списка после удаления элементов: Е D В

Содержимое списка после ввода элементов: Е D В X Y Z

Самое примечательное в этой программе — это обход списка в прямом и обратном направлении, следуя по ссылкам, предоставляемым свойствами Next и Previous. Двунаправленный характер подобных связных списков имеет особое значение для приложений, управляющих базами данных, где нередко требуется перемещаться по списку в обоих направлениях.

Класс DictionaryCTKey, TValue>

Класс Dictionary<TKey, TValue> позволяет хранить пары "ключ-значение" в коллекции как в словаре. Значения доступны в словаре по соответствующим ключам. В этом отношении данный класс аналогичен необобщенному классу Hashtable. В классе Dictionary<TKey, TValue> реализуются интерфейсы IDictionary, IDictionary<TKey, TValue>, ICollection, ICollection<KeyValuePair<TKey, TValue>>, IEnumerable, IEnumerable<KeyValuePair<TKey, TValue>>, ISerializable и IDeserializationCallback. В двух последних интерфейсах поддерживается сериализация списка. Словари имеют динамический характер, расширяясь по мере необходимости.

Поделиться:
Популярные книги

Барону наплевать на правила

Ренгач Евгений
7. Закон сильного
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Барону наплевать на правила

Жестокая свадьба

Тоцка Тала
Любовные романы:
современные любовные романы
4.87
рейтинг книги
Жестокая свадьба

Эрсус. Фаворит Смерти

Павлов Вел
2. Стезя Эрсуса
Фантастика:
фэнтези
5.00
рейтинг книги
Эрсус. Фаворит Смерти

Тринадцатый III

NikL
3. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Тринадцатый III

Наследник хочет в отпуск

Тарс Элиан
5. Десять Принцев Российской Империи
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Наследник хочет в отпуск

Личный аптекарь императора

Карелин Сергей Витальевич
1. Личный аптекарь императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Личный аптекарь императора

Санек 2

Седой Василий
2. Санек
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Санек 2

Граф

Ланцов Михаил Алексеевич
6. Помещик
Фантастика:
альтернативная история
5.00
рейтинг книги
Граф

Барон Дубов 2

Карелин Сергей Витальевич
2. Его Дубейшество
Фантастика:
юмористическое фэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Барон Дубов 2

Возвышение Меркурия. Книга 5

Кронос Александр
5. Меркурий
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 5

Приручитель женщин-монстров. Том 14

Дорничев Дмитрий
14. Покемоны? Какие покемоны?
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Приручитель женщин-монстров. Том 14

В лапах зверя

Зайцева Мария
1. Звериные повадки Симоновых
Любовные романы:
остросюжетные любовные романы
эро литература
5.00
рейтинг книги
В лапах зверя

Мастер 3

Чащин Валерий
3. Мастер
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер 3

Господин следователь. Книга 4

Шалашов Евгений Васильевич
4. Господин следователь
Детективы:
исторические детективы
5.00
рейтинг книги
Господин следователь. Книга 4