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

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

Жанры

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. В двух последних интерфейсах поддерживается сериализация списка. Словари имеют динамический характер, расширяясь по мере необходимости.

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

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

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

Начальник милиции. Книга 5

Дамиров Рафаэль
5. Начальник милиции
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Начальник милиции. Книга 5

Адвокат Империи 2

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

Неудержимый. Книга XI

Боярский Андрей
11. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XI

Жена фаворита королевы. Посмешище двора

Семина Дия
Фантастика:
фэнтези
5.00
рейтинг книги
Жена фаворита королевы. Посмешище двора

Мама из другого мира...

Рыжая Ехидна
1. Королевский приют имени графа Тадеуса Оберона
Фантастика:
фэнтези
7.54
рейтинг книги
Мама из другого мира...

Он тебя не любит(?)

Тоцка Тала
Любовные романы:
современные любовные романы
7.46
рейтинг книги
Он тебя не любит(?)

Кодекс Охотника. Книга XIX

Винокуров Юрий
19. Кодекс Охотника
Фантастика:
фэнтези
5.00
рейтинг книги
Кодекс Охотника. Книга XIX

Аномальный наследник. Том 1 и Том 2

Тарс Элиан
1. Аномальный наследник
Фантастика:
боевая фантастика
альтернативная история
8.50
рейтинг книги
Аномальный наследник. Том 1 и Том 2

Вперед в прошлое!

Ратманов Денис
1. Вперед в прошлое
Фантастика:
попаданцы
5.00
рейтинг книги
Вперед в прошлое!

Наследница долины Рейн

Арниева Юлия
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Наследница долины Рейн

Ученик. Книга 4

Первухин Андрей Евгеньевич
4. Ученик
Фантастика:
фэнтези
5.67
рейтинг книги
Ученик. Книга 4

В зоне особого внимания

Иванов Дмитрий
12. Девяностые
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
В зоне особого внимания

Кодекс Охотника. Книга XXI

Винокуров Юрий
21. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXI