Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
“Рецепт Счастья” — увлекательная игра в жанре «соедини предметы»! Помогите Эмили раскрыть тайны пропавшего родственника, найти сокровища и восстановить её любимое кафе.

Рецепт Счастья

Казуальные, Головоломки, Новеллы

Играть

Топ прошлой недели

  • Rahlkan Rahlkan 1 пост
  • Tannhauser9 Tannhauser9 4 поста
  • alex.carrier alex.carrier 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
3
codingblog
codingblog
7 лет назад

Связный список (Linked List) C#⁠⁠

Связный список (Linked List) C# Linkedlist, Связный Список, Data Structure, Структуры Данных, Csharp, Dotnet, Visualstudio, Программирование, Длиннопост

Связный список (Linked List) представляет собой коллекцию связанных элементов, которые содержат в себе хранимые данные, а также ссылку на связанные с ним элементы (один или несколько). Основным преимуществом данной структуры данных перед обычным массивом является ее динамичность — возможность легко менять количество элементов. Давайте рассмотрим пример реализации на языке C# элементарного односвязного списка.


Для начала необходимо упомянуть, что существует несколько видов связных списков. Вот наиболее часто используемые из них:

1. Односвязный список

2. Двусвязный список

3. Кольцевой список


Схематическая структура односвязного списка представлена на рисунке ниже.

Связный список (Linked List) C# Linkedlist, Связный Список, Data Structure, Структуры Данных, Csharp, Dotnet, Visualstudio, Программирование, Длиннопост

Элемент списка

Рассмотрим класс элемента связного списка. Для того, чтобы сделать его более универсальным мы используем Универсальный параметр T. Это позволит динамически указывать тип данных при использовании списка.

Связный список (Linked List) C# Linkedlist, Связный Список, Data Structure, Структуры Данных, Csharp, Dotnet, Visualstudio, Программирование, Длиннопост

Список элементов

Теперь рассмотрим сам класс связного списка. Для него мы также используем Универсальный (generic) тип T, а также реализуем интерфейс IEnumerable, чтобы в дальнейшем было удобно перебирать элементы списка с помощью цикла foreach. Выделим основные необходимые свойства класса:

Связный список (Linked List) C# Linkedlist, Связный Список, Data Structure, Структуры Данных, Csharp, Dotnet, Visualstudio, Программирование, Длиннопост

Теперь реализуем метод добавления данных в коллекцию

Связный список (Linked List) C# Linkedlist, Связный Список, Data Structure, Структуры Данных, Csharp, Dotnet, Visualstudio, Программирование, Длиннопост

Удаление данных из коллекции

Связный список (Linked List) C# Linkedlist, Связный Список, Data Structure, Структуры Данных, Csharp, Dotnet, Visualstudio, Программирование, Длиннопост

Ну и наконец вспомогательные методы для полной очистки связного списка и перебора элементов в цикле

Связный список (Linked List) C# Linkedlist, Связный Список, Data Structure, Структуры Данных, Csharp, Dotnet, Visualstudio, Программирование, Длиннопост

Использование

Теперь нам остается проверить работу нашего списка. Для этого создадим несколько элементов и проверим работу списка.

Связный список (Linked List) C# Linkedlist, Связный Список, Data Structure, Структуры Данных, Csharp, Dotnet, Visualstudio, Программирование, Длиннопост

В итоге получаем следующий вывод на консоль

Связный список (Linked List) C# Linkedlist, Связный Список, Data Structure, Структуры Данных, Csharp, Dotnet, Visualstudio, Программирование, Длиннопост

Заключение

Здесь представлена элементарная реализация данной динамической структуры данных. На практике она уже реализована намного лучше внутри платформы .NET в виде списка List<T>, но для того, чтобы понять внутреннюю структуру лучше рассматривать более простые примеры. Источник https://shwan.ru/linked-list/

Показать полностью 8
[моё] Linkedlist Связный Список Data Structure Структуры Данных Csharp Dotnet Visualstudio Программирование Длиннопост
14
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии