Двусвязный и кольцевой список (linked list) - Структуры данных C#

Поделиться
HTML-код
  • Опубликовано: 14 мар 2019
  • Двусвязный и кольцевой связный список (linked list) - Структуры данных в языке программирования C#
    На этом занятии мы рассмотрим разновидности связного списка: двусвязный список и кольцевой связный список.
    Подписывайтесь на информационные каналы курса, чтобы ничего не пропустить и не потерять информацию:
    Закрытый чат для участников курса: vk.cc/8Ev4Gv
    Рассылка с оповещениями в ВК: vk.cc/86Y7Pa
    Подписывайтесь на мои социальные сети, там много всего интересного и полезного:
    codeblog
    tele.click/codeblog
    zen.yandex.ru/codeblog
    Поддержать канал: www.donationalerts.ru/r/shwanoff
    Кстати, меня зовут Шванов Вадим, и я программист на языке C# уже больше 8 лет, а также я являюсь автором ресурсов для разработчиков CODE BLOG. На этом канале я рассказывают про IT, технологии и веду курс C# с нуля под названием Учим Шарп. В его рамках мы рассматриваем язык программирования c# с нуля, синтаксис, структуры данных, алгоритмы, паттерны проектирования и многое другое. Эти уроки c sharp подойдут для начинающих и для тех кто хочет подробнее изучить платформу .net и среду разработки visual studio. Для меня важно не только показать практическое применение языка си шарп и платформы dotnet, но и объяснить базовые идеи программирования. Уроки с# выходят как минимум два раза в неделю в понедельник и четверг в 20-00. C# курс рассчитан на то, чтобы изучить программирование с нуля. Все занятия веду я сам - опытный программист c#. Разработка ведется в IDE visual studio c#. Подписывайтесь, впереди еще много интересного и полезного об it, программировании как для начинающих, так и для более опытных программистов c#.
    Каждый узел двунаправленного (двусвязного) линейного списка (ДЛС) содержит два поля указателей - на следующий и на предыдущий узлы. Указатель на предыдущий узел корня списка содержит нулевое значение. Указатель на следующий узел последнего узла также содержит нулевое значение.
    Каждый узел двунаправленного (двусвязного) циклического списка (ДЦС) содержит два поля указателей - на следующий и на предыдущий узлы. Указатель на предыдущий узел корня списка содержит адрес последнего узла. Указатель на следующий узел последнего узла содержит адрес корня списка.
    Подробный курс по языку программирования C#:
    • Преимущества и недоста...
    Подробный курс по структурам данных на языке программирования C#:
    • Связный список (linked...
    Подробный курс по алгоритмам сортировки на языке C#:
    • Сортировка пузырьком (...
    Разговоры о программировании, мотивации, и ответы на IT вопросы:
    • Практика программирова...
    #программирование #программист #csharp #ityoutubersru #codeblog

Комментарии • 20

  • @CODEBLOG
    @CODEBLOG  5 лет назад +2

    На этом занятии мы рассмотрим разновидности связного списка: двусвязный список и кольцевой связный список.
    Кстати, меня зовут Вадим, и я программист на языке C# уже больше 8 лет. Рассказываю про IT технологии и веду этот курс по языку C# с нуля под названием Учим Шарп. В его рамках мы рассмотрим как базовый синтаксис языка C Sharp, так и его практическое применение и специальные технологии, такие как ASP.NET, Core, MVC, Unity, WCF, WPF, структуры данных и алгоритмы обработки, паттерны проектирования и многое другое. Для меня важно не только показать практическое применение языка C#, но и объяснить основную идею и базовые понятия Computer Science. Уроки c# выходят два раза в неделю в понедельник и четверг в 20-00 по МСК. Курс csharp рассчитан на то, чтобы изучить программирование с нуля. Разработка ведется в IDE Visual Studio. Подписывайтесь, впереди еще много интересного.

  • @ivanomelchenko1895
    @ivanomelchenko1895 3 года назад

    спасибо за стриммм

  • @ivanomelchenko1895
    @ivanomelchenko1895 3 года назад

    сп за урок

  • @vladbohdanets2976
    @vladbohdanets2976 3 года назад +1

    Можно, пожалуйста исходник из видео?

  • @ivanomelchenko1895
    @ivanomelchenko1895 3 года назад

    или можно исходники поизменять в Visual Studio

  • @user-xf7iq9rj3c
    @user-xf7iq9rj3c 5 лет назад

    Хорошие уроки,что посоветуешь изучать после основ? Asp net,net corе,wpf или asp net core?вроде в основах разобрался,но глаза разбегаются,не знаю ,что делать дальше,может посоветуешь ,что будет востребовано или что стоит выбрать?

    • @CODEBLOG
      @CODEBLOG  5 лет назад +1

      .net core в приоритете сейчас

    • @polystarrr9604
      @polystarrr9604 Год назад

      @@CODEBLOG А что сейчас в приоритете?

    • @talisman1104
      @talisman1104 Год назад

      Как успехи?

    • @talisman1104
      @talisman1104 Год назад

      ​@@polystarrr9604выжить в русофобной европе)

  • @andreymtrx8368
    @andreymtrx8368 5 лет назад +1

    Жалко что мало просмотров.. Планируете видео по asp.net mvc делать? или же asp .net core?

    • @CODEBLOG
      @CODEBLOG  5 лет назад

      да, конечно планируется. но дойдем только через несколько месяцев

    • @talisman1104
      @talisman1104 Год назад

      А потом он бросил всё это

  • @maksim3281
    @maksim3281 4 года назад

    Нравится реализовывать динамические структуры данных, но пока что не понятно куда их можно пристроить.

    • @OpalGooDog
      @OpalGooDog 3 года назад

      такие структуры работают быстрее чем обычный лист и ето круто

  • @user-xf7iq9rj3c
    @user-xf7iq9rj3c 5 лет назад

    Удаление в 2связном неправильное,если удалять последний элемент System.NullReferenceException будет

    • @CODEBLOG
      @CODEBLOG  5 лет назад

      вполне возможно, я не все тестил ) вот как раз практическая задачка - отладить и исправить )

    • @kurnakovv
      @kurnakovv 4 года назад

      @@CODEBLOG у меня получилось) проверки добавил дополнительные, правда я загуглил, но там не заработало, я чуть код поменял и все нормич стало))

    • @TedRed
      @TedRed Год назад

      Я так исправил. Не уверен, что всё нормально, но вроде всё работает
      Ютуб распознает домен .Next, поэтому выделяет синим цветом как ссылку, на самом деле это никакая не ссылка, само собой
      public void Delete(T data)
      {
      var current = Head;
      while (current is not null)
      {
      if (current.Data.Equals(data) & current.Previous is not null & current.Next is not null)
      {
      current.Previous.Next = current.Next;
      current.Next.Previous = current.Previous;
      Count--;
      return;
      }
      else if (current.Data.Equals(data) & current.Previous is null & current.Next is not null)
      {
      Head = current.Next;
      current.Next.Previous = null;
      Count--;
      return;
      }
      else if (current.Data.Equals(data) & current.Previous is not null & current.Next is null)
      {
      Tail = current.Previous;
      current.Previous.Next = null;
      return;
      }
      else if(current.Data.Equals(data) & Count == 1)
      {
      Tail = null;
      Head = null;
      Count = 0;
      return;
      }
      current = current.Next;
      }
      }

    • @anklebounce8660
      @anklebounce8660 Год назад

      я исправил через свойство Tail, получилось покороче)
      public void Delete(T data)
      {
      var current = Head;
      while(current != null)
      {
      if (current.Data.Equals(data))
      {
      if(current == Tail)
      {
      current.Previous.Next = Tail.Next;

      Count--;
      return;
      }
      current.Previous.Next = current.Next;
      current.Next.Previous = current.Previous;
      Count--;
      return;
      }
      current = current.Next;
      }
      }