#11. Делаем двусвязный список на С++ | Структуры данных

แชร์
ฝัง
  • เผยแพร่เมื่อ 1 ธ.ค. 2024

ความคิดเห็น • 31

  • @den.sorochenko
    @den.sorochenko 2 ปีที่แล้ว +19

    Автор, ты спас мою лабу!)) Спасибо большое, преподавателя вообще не понимал, а ты все классно объяснил!

  • @siarheiulas6969
    @siarheiulas6969 ปีที่แล้ว +5

    Замечательное, подробное объяснение!!! Спасибо за урок!

  • @anvarx1
    @anvarx1 2 ปีที่แล้ว +4

    Спасибо !!! Урок просто Суперский !!!

  • @PatriciaLarsen-hi4ol
    @PatriciaLarsen-hi4ol ปีที่แล้ว

    Благодарю! Хороший урок, всё доступно объяснил

  • @ТимурХасанов-о3м
    @ТимурХасанов-о3м ปีที่แล้ว +1

    Прекрасное видео. Боьшое спасибо

  • @ЕрвандАгаджанян-в3к
    @ЕрвандАгаджанян-в3к 2 ปีที่แล้ว +3

    Потрясающий урок) Спасибо!

  • @Артём-я8т9т
    @Артём-я8т9т ปีที่แล้ว +1

    Автор огромное спасибо, помог разобраться

  • @Michael-Solo
    @Michael-Solo 5 หลายเดือนก่อน +2

    Это упрощенная реализация листа, она не учитывает итерируемость, которую возможно добиться только при внесении в программу фейковой ноды и зацикливании листа на последнюю. она и будет являться стопором для итератора, который нужно будет прописать в виде внутреннего класса и переопределить в нём операторы ++ -- и тп

  • @tasteofrussia7329
    @tasteofrussia7329 7 หลายเดือนก่อน

    Спасибо за видео❤❤❤❤

  • @andreyf7035
    @andreyf7035 ปีที่แล้ว +2

    Подскажите, пожалуйста, для чего мы сделали реализацию методов push_front и push_back с возвращаемым значением?

    • @selfedu_rus
      @selfedu_rus  ปีที่แล้ว

      исключительно для удобства, вдруг нужно будет использовать только что добавленные объекты

    • @andreyf7035
      @andreyf7035 ปีที่แล้ว

      @@selfedu_rus Спасибо!

  • @СемёнФетисов-ч3д
    @СемёнФетисов-ч3д ปีที่แล้ว +2

    Подскажите, пожалуйста, почему какие то методы сделаны через void, а какие то через Node* ?

    • @3dfightling737
      @3dfightling737 ปีที่แล้ว

      какие то методы класса,что возвращают объект того класса(в нашем случае Node),а если void то метод ничего не возвращает

    • @tasteofrussia7329
      @tasteofrussia7329 7 หลายเดือนก่อน

      @@kafffka_ просто писать вместо Node* void, потом название функции и параметры. И возвращать ничего не нужно. Если хотите, например, вывести что-то, то просто пишите cout и так далее. Советую вам ознакомиться с тем, как работают функции. Потому что такой вопрос при изучении списков уже появляться...не должен.

  • @nick-ei2og
    @nick-ei2og ปีที่แล้ว +1

    А почему в методе get_at не выполняется условие откуда начинать поиск, с head или с tail? Если надо найти последний элемент, у вас всё равно начнётся поиск с начала и до конца. Тогда в чём смысл, если можно просто использовать односвязный список?

    • @selfedu_rus
      @selfedu_rus  ปีที่แล้ว +1

      да, согласен, здесь можно оптимизировать этот момент

  • @timuredziev9108
    @timuredziev9108 11 หลายเดือนก่อน +2

    push_front
    ptr->next = head
    голова это же первый, там разве не должно быть tail
    и условие if (head != NULL)
    head ->prew = ptr
    не понятно
    объясните, пожалуйста

    • @tasteofrussia7329
      @tasteofrussia7329 7 หลายเดือนก่อน

      1. Зачем тебе tail? Чтобы добавить перед какой-то записью новую запись, необходимо сделать так, чтобы у новой записи был "путь" к элементу, который был первый до этого. Для этого и делается ptr->next = head. Можно попробовать нарисовать это самостоятельно, если не понятно
      2. Данное условие нужно для связи старого первого элемента с новым. А если head == NULL, то и связывать их не за чем.

    • @ebianbaraban8469
      @ebianbaraban8469 6 หลายเดือนก่อน

      просто мы добавляем элемент не после головы, а перед ней

  • @trooper6050
    @trooper6050 12 วันที่ผ่านมา +1

    Здравствуйте, не совсем понял, зачем прописывать 2 поля public в одном классе? Это для удобства чтения?

  • @MrNonameous
    @MrNonameous 2 ปีที่แล้ว +1

    А если бы надо было, чтобы pop_front возвращал значение, какие изменения пришлось делать?

    • @ПавелГолубев-п8о
      @ПавелГолубев-п8о 2 ปีที่แล้ว +3

      не надо было бы удалять объект
      создать новый указатель, который ссылался бы на предыдущий хвост и возвращать его
      функция была бы:
      Node *pop_back() {
      ...
      return obj
      }

  • @ЧертокНиколай
    @ЧертокНиколай 2 ปีที่แล้ว +1

    а есть текст кода?

    • @selfedu_rus
      @selfedu_rus  2 ปีที่แล้ว

      нет, не выкладывал

  • @semalex_7580
    @semalex_7580 2 ปีที่แล้ว +1

    Сделай для записи видео светлый экран, на темном не видно ничего

    • @selfedu_rus
      @selfedu_rus  2 ปีที่แล้ว +12

      Проводил опрос, для 80% лучше темный.

    • @ЕрвандАгаджанян-в3к
      @ЕрвандАгаджанян-в3к 2 ปีที่แล้ว +3

      @@selfedu_rus Однозначно лучше темный. Иначе глаза будут болеть

    • @evgends
      @evgends ปีที่แล้ว

      Светлый долбит в глаза не приятно...

    • @mentis339
      @mentis339 ปีที่แล้ว

      тёмный однозначно лучше