Односвязный список C#

2021 ж. 24 Қар.
11 730 Рет қаралды

Видео для спонсоров. Создаем с нуля простой односвязный список на C#. Нам понадобится использование обобщений(дженериков), делегаты и ключевое слово yield return.
-------------------
Ваше участие очень важно для развития моего канала. Самое мало, что вы можете сделать это поддержать канал любым доступным вам способом: лайк, комментарий, подписка. Меня это мотивирует на продолжение работы, а вам ничего не стоит.
Если вы хотите меня отблагодарить донатом и поддержать развитие канала:
money.yandex.ru/to/4100184436534
В комментариях можно указать тему или идею для нового видео, которую вы бы хотели увидеть на канале. Естественно, мнение тех, кто меня поддерживает финансово я буду учитывать в первую очередь.
Личные вопросы о помощи в программирование и построении карьеры в IT можно задавать тут sberegovoy.ru/mentor/
--------------------
Оставайтесь на связи:
Мой сайт - sberegovoy.ru
Вступайте в телеграмм канал - t.me/sberegovoy
Группа в телеграмме - t.me/group_sberegovoyru
Вступайте в группу ВК - vk.com/sberegovoyru
#ityoutubersru

Пікірлер
  • темная

    @igorcoolman@igorcoolman2 жыл бұрын
    • по ощущениям, глазам комфортнее светлая тема

      @valikkhmelnitsky743@valikkhmelnitsky7432 жыл бұрын
    • После этого ливнул из просмотра...

      @Mr.Epsilion@Mr.Epsilion18 күн бұрын
  • за одно посмотрел на оператор yield return - елд ретурн 😂 28:22. Урок хороший, хотел узнать как указать максимальный размер списка, но видать не судьба.

    @Bushido_Cat@Bushido_Cat9 күн бұрын
  • Добрый вечер, большое спасибо за урок. Отдельный респект Вам за то, что в рамках 30 минут рассказали вкратце и про дженерики, и про интерфейс IEnumerable с yield -ом. Хотелось бы увидеть такое же подробное объяснение на практических примерах по делегатам, лямбдам и событиям.

    @user-dv7fo2kn1b@user-dv7fo2kn1b3 жыл бұрын
  • Отлично! Как раз то что нужно, когда самые азы усвоены и нужно углубляться.

    @whitewind912@whitewind9122 жыл бұрын
  • Здравствуйте, Семён. Очень полезное и интересное видео, Сергей. Очень приятно видеть видео в тёмной теме, Станислав. Про делегаты и итераторы всё понятно, Светлан. Как работает односвязный список, Святослав, тоже понятно. А вот где и зачем именно такой вид списка может пригодиться, Севериан, слабо представляется. Тем более в шарпах, Серифим. Последние два предложения звучали как упрёк, Сократ, но они таковыми не являются. Просто так кажется потому что во все предложения вставляю имена, Сатурн.

    @AntonLeviz@AntonLeviz2 жыл бұрын
  • Спасибо за уроки, ты очень помогаешь в обучении 👍

    @amvbest8904@amvbest89047 ай бұрын
  • Спасибо за урок!

    @Slava_14_Feb_81@Slava_14_Feb_81 Жыл бұрын
  • Спасибо, много полезного узнал.

    @zaylen8389@zaylen8389 Жыл бұрын
  • Спасибо!

    @bitaliypomykalov4141@bitaliypomykalov41412 жыл бұрын
  • оч хорошо, спасибо

    @hello_world_zz@hello_world_zz10 ай бұрын
  • 🔥🔥

    @user-yt9gf2lu7b@user-yt9gf2lu7b2 жыл бұрын
  • Добрый день, спасибо за урок. Можете про алгоритмы сделать уроки. Сортировки и т.д

    @seka1309@seka1309 Жыл бұрын
  • Темная тема топ

    @spideybeatstorage4983@spideybeatstorage4983 Жыл бұрын
  • Светлая и темная => зависит от освещения в комнате. В полутьме конечно темная. По материалу: хотелось бы конечно более детального разбора. Как оптимизировать, например. И конечно спасибо за видео!

    @alexeyan5211@alexeyan52112 жыл бұрын
  • Классный урок, и структуру данных потрогали, и делегат, и IEnumerable, всё это могут спросить на собеседовании.

    @user-ir5vb7vv5e@user-ir5vb7vv5e2 жыл бұрын
  • Спасибо за урок. Повторял все как на видео и до 23:42 все было ок, но вот на это этапе подсвечиваются в 2х местах current.Next и выдает ошибку - Warning CS8618: свойство "Next", не допускающий значения NULL, должен содержать значение, отличное от NULL, при выходе из конструктора. Возможно, стоит объявить свойство как допускающий значения NULL. Что нужно изменить ?

    @superamigo301@superamigo3014 ай бұрын
  • Тёмная тема наше всё. Пишу ночью, живу ночью, всё тихо, один я в дальнем тёмном углу злобно и недоверчиво пишу код, поглядывая на бегающую во сне собаку.

    @BoringAndrey@BoringAndrey10 ай бұрын
  • Степан, Сергей - это ты обо мне ? :D

    @vitalijgrabovan2061@vitalijgrabovan20612 жыл бұрын
  • Светлая тема конечно

    @OpalGooDog@OpalGooDog2 жыл бұрын
  • Спасибо, в целом всё вполне понятно. Единственное не понял про Next. В самом начале, в классе Node, вы ввели "public Node Next", сказав, что это непосредственно указатель на следующий элемент. Откуда программа знает, что Next указывает именно на следующий элемент?

    @user-ed1hy3by5p@user-ed1hy3by5p2 жыл бұрын
    • По сути, NEXT это новый пустой элемент типа Node, который создался сразу с нашим элементом. 12:18 И как матрёшки они друг в друге хранятся

      @Zhelnov@Zhelnov11 ай бұрын
  • Почему не сделали поле с последним элементом связанного списка? В таком случае при добавлении нового объекта нет необходимости пробегаться по всей коллекции начиная с головы

    @fazleev@fazleev3 жыл бұрын
    • Верно, как вариант оптимизации можно всегда хранить последний элемент.

      @SBeregovoyRU@SBeregovoyRU3 жыл бұрын
    • @@SBeregovoyRU это не просто оптимизация, это существенный прирост скорости .Разница в сотни раз.

      @user-yv1ml1qc2d@user-yv1ml1qc2d2 жыл бұрын
  • Ну лучше уж с Ienumirable, Аля больше полиморфизма, для других классов и методов, удобнее, пусть и медленнее. Спасибо!)

    @OpalGooDog@OpalGooDog2 жыл бұрын
  • Извините, а как сделать так, чтобы односвязный список выводился в обратном направлении?

    @alexartamonov5207@alexartamonov52072 жыл бұрын
    • using System; using System.Collections.Generic; namespace ConsoleApplication1 { class Program { static void Main() { // Создадим связный список LinkedList link = new LinkedList(); // Добавим несколько элементов link.AddFirst("1"); link.AddFirst("2"); link.AddFirst("3"); link.AddFirst("4"); // Отобразить элементы в обратном направлении Console.WriteLine(" Элементы коллекции в обратном направлении: "); for (node = link.Last; node != null; node = node.Previous) Console.Write(node.Value + "\t"); Console.ReadLine(); } } }

      @talerstain5012@talerstain5012 Жыл бұрын
  • Жалко что не смогли избавиться от while при добавлении нового элемента, ну ето уже другая история, хм

    @OpalGooDog@OpalGooDog2 жыл бұрын
  • я просто нажимаю ctrl+win+c и инвертирую цвета

    @igray_uchi@igray_uchi2 жыл бұрын
  • нифига не понятно, примерно как первый раз увидел расчет факториала через рекурсию. голова кругом

    @gektorat@gektorat2 жыл бұрын
    • Посмотрите пару раз) в целом тема не сложная

      @SBeregovoyRU@SBeregovoyRU2 жыл бұрын
KZhead