Двусвязный список | Динамические структуры данных #2

Поделиться
HTML-код
  • Опубликовано: 31 янв 2018
  • Cамый лучший способ сказать "спасибо" - поставить лайк и и поделиться уроком с друзьями. Это очень мотивирует создавать полезные уроки =)
    Односвязный список | Динамические структуры данных #1
    goo.gl/VuXS6Z
    ✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅
    Если вам нравятся мои уроки, вы хотите поддержать меня и развитие канала, то можете сделать это тут!=)
    🔴🔴🔴 www.donationalerts.ru/r/simple...
    или тут
    🔴🔴🔴 / simplecode
    ✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅
    Уроки по программированию
    Наша группа ВК smplcode
    Подписывайтесь на канал / @simplecodeit

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

  • @SimpleCodeIT
    @SimpleCodeIT  6 лет назад +75

    *Cамый лучший способ сказать "спасибо" - поставить лайк и и поделиться уроком с друзьями. Это очень мотивирует создавать полезные уроки =)*

  • @user-yt2qy6th2j
    @user-yt2qy6th2j 6 лет назад +144

    Я просто зашёл лайк поставить.Мне ещё рано такое смотреть

    • @SimpleCodeIT
      @SimpleCodeIT  6 лет назад +13

      Спасибо! =)

    • @overdoses1794
      @overdoses1794 6 лет назад +9

      Сергей, а вы же не просто так стали программистом, вы же знаете computer science. Если вы изучали это, то пожалуйста, скажите хорошую книгу или хорошие уроки). Лайк, репост сделал=)

    • @veter4699
      @veter4699 6 лет назад +2

      Хах, так же делаю))

  • @user-vd7kk1qp9e
    @user-vd7kk1qp9e 5 лет назад +3

    Сергей, вы супер учитель. Внятно, доступно, неторопливо.

  • @last2636
    @last2636 Год назад +5

    Прекрасное изложение материала, спасибо за ваш труд.

  • @vladalu9794
    @vladalu9794 6 лет назад +10

    Спасибо большое Сергей за отличный урок!!!!

  • @jangiryanarsen4952
    @jangiryanarsen4952 6 лет назад +10

    Просто безумно интересно, продолжай в таком же духе Сергей!!! От меня лайк.

  • @user-gb6gf4vi8f
    @user-gb6gf4vi8f 6 лет назад +30

    Начал свой путь изучения С++ с вашего канала. Только благодаря Вам , Сергей, и Вашему неоценимому труду мои знания пребывают на таком уровне.

    • @user-rm3eu6we8c
      @user-rm3eu6we8c 5 лет назад +17

      тебе повезло. а меня сперва "закинуло" к Гоше Дударь,) слава богам, там почти с порога видно качество преподавания, но пару дней я все таки потерял,

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

      @@user-rm3eu6we8c Боже упаси я проклинаю ютуб, который заваливает ссылками на его ролики... самый большой вред для начинающего программист начинать обучение с таких недопрограммистов как дударь

  • @andreyshadrin1658
    @andreyshadrin1658 2 года назад

    Отличный урок Сергей. Спасибо!

  • @user-nw5iw5ew9z
    @user-nw5iw5ew9z 2 года назад +2

    Спасибо за такой хороший теоретический урок.

  • @user-bc4vi6hl2f
    @user-bc4vi6hl2f 6 лет назад +8

    Спасибо за урок

  • @user-nd4sl1lp9b
    @user-nd4sl1lp9b Год назад

    Огромное спасибо,действительно полезная информация!!❤❤

  • @KurpatovInstagram
    @KurpatovInstagram 6 лет назад +4

    спасибо!

  • @SimpleCodeIT
    @SimpleCodeIT  6 лет назад +2

    #двусвязныйсписок #динамическиеструктурыданных #SimpleCode #урокипрограммирования

  • @C2H5OHH
    @C2H5OHH 2 года назад

    Спасибо за урок!

  • @HugoBossKosta
    @HugoBossKosta 2 года назад

    видео просто супер-ясно и по делу)

  • @e_viskhan
    @e_viskhan 2 месяца назад

    Отличное объяснение. Лайк

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

    Спасибо большое очень позновательно.

  • @user-jm5dk2nh7t
    @user-jm5dk2nh7t 5 лет назад +13

    После урока решил сам реализовать данный список. Думаю, что не зря, узнал много нового, учась на своих же ошибках. Спасибо за урок!

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

      Скинь код пожалуйста

  • @borisshalabanov4620
    @borisshalabanov4620 6 лет назад +5

    спасибо, попробую написать

  • @andrey_sautenko
    @andrey_sautenko 5 месяцев назад

    Спасибо за простое объяснение)

  • @mykhailomorhal2181
    @mykhailomorhal2181 6 лет назад +3

    Спасибо)

  • @devdev8481
    @devdev8481 2 года назад

    Спасибо большое!!!!

  • @user-fp2sb2fb6v
    @user-fp2sb2fb6v 6 лет назад +2

    Хороший урок

  • @user-qw8il1sk9d
    @user-qw8il1sk9d 3 года назад

    Данные уроки очень понятные еще и на 2х скорости можно смотреть!

  • @borisshalabanov4620
    @borisshalabanov4620 6 лет назад +16

    хехе, у меня поучилось сделать всю реализацию, все благодря вам, Сергей, спасибо за уроки

  • @user_x138
    @user_x138 3 года назад +3

    Perfectly!!! Оказывается, когда я просматривал уроки по односвязным спискам, то реализовал еще дополнительно связь с предыдущим элементам = то есть я САМ реализовал двусвязный список

  • @stephandolskii7964
    @stephandolskii7964 2 года назад

    19:50 Очень полезным, очень.

  • @user-od8mn6ns2z
    @user-od8mn6ns2z 2 года назад +3

    Спасибо за урок ) Ну на примере этих квадратиков (псевдо-элементов) всё понятно . Но я точно не смог бы сейчас сам написать односвязный /двусвязный список на C#....Наверно=/

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

    Сергей как всегда лучший в мире

  • @dimam4263
    @dimam4263 2 года назад +1

    Доброй ночи! Мне очень нравится Ваш канал!!! Запищите пожалуйста видео по новым стандартам с++!!!! Очень прошу!!!

  • @vahepanch1737
    @vahepanch1737 2 года назад +3

    Здравствуйте!
    Пожалуйста записывайте видеоуроки про паттерны проектирования на C++.
    Спасибо!! =)

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

    спасибо

  • @havel_17
    @havel_17 5 лет назад +13

    8:40
    я уже думал что моргнул не так

  • @kaynsolo
    @kaynsolo 6 лет назад +3

    Like!

  • @vadimmishuto6255
    @vadimmishuto6255 9 месяцев назад

    класс)

  • @user-bj8hc4jc6o
    @user-bj8hc4jc6o 6 лет назад +90

    Уважаемый автор! Вы планируете сделать реализацию двухсвязного списка после картинок? Уроки качественные, но сделать реализацию новичку сложновато даже на базе урока на основе односвязного списка

    • @user-lh4de3yg9u
      @user-lh4de3yg9u 5 лет назад +14

      +

    • @elenatalley7899
      @elenatalley7899 2 года назад +5

      поддерживаю!

    • @kitemanrus
      @kitemanrus 2 года назад +1

      Самому реализовывать не нужно, уже все давно реализовано, например в C# есть LinkedList - это и есть реализация двусвязного списка. Главное - понимание принципов функционирования.

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

      @@kitemanrus Ну суть же про практику и понимание, как это работает внутри

    • @Yanohi-hw3zu
      @Yanohi-hw3zu Год назад +1

      Все довольно легко так то, зная об односвязном списке..

  • @dondimon3910
    @dondimon3910 4 месяца назад

    Для полного закрепления материала рекомендую код из предыдущих 3ёх видео по односвязным спискам модифицировать для работы с двусвязными списками.

  • @dukenukem1675
    @dukenukem1675 2 года назад +1

    а вообще можно было бы прикрутить алгоритм как в мар по поиску ссылки на ячейку этого списка, типа 10 ячеек, делим сайз(10) на две части, если индекс который мы ищем больше 5 то опять делим, правую часть, если больше 8ми то либо 9 либо 10, ну в общем опять же как в мар=)

  • @temurbekabdunasimov8476
    @temurbekabdunasimov8476 6 месяцев назад

    thank's man

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

    четко и ясно а будут уроки по жаве?

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

    10/10

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

    Скилл я однозначно подкачал.

  • @borisshabanov6702
    @borisshabanov6702 6 лет назад +7

    Спасибо! Следующий урок уже STL будет?

    • @SimpleCodeIT
      @SimpleCodeIT  6 лет назад +7

      STL будет когда закончим рассмотрение всех динамических структур данных.

  • @overdoses1794
    @overdoses1794 6 лет назад +9

    Сергей, а вы же не просто так стали программистом, вы же знаете computer science. Если вы изучали это, то пожалуйста, скажите хорошую книгу или хорошие уроки). Лайк, репост сделал=)

    • @SimpleCodeIT
      @SimpleCodeIT  6 лет назад +6

      Посмотри уроки Андрея Созыкина.

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

      Я бы ответил посмотри лессонсы Андрея Созыкина)😂

    • @overdoses1794
      @overdoses1794 4 года назад +2

      @@oraclevb5430 да ну всё. я забил на программирование) Не оч как по мне)

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

      @@overdoses1794 xD

    • @pavelrusak3338
      @pavelrusak3338 2 года назад +7

      @@overdoses1794 Вердикт такой: Смотреть уроки Созыкина занимает 2 года и отбивает всяческое желание программировать )))

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

    Есть видео с кодом?

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

    Объясните пожалуйста, а откуда мы знаем где в памяти лежит последний элемент? Они же в хаотичном порядке расположены. Если на первый элемент указывает просто имя (так говорил автор в видео однонаправленного списка), то что указывает на последний?

    • @user-li1id6ts3e
      @user-li1id6ts3e 5 лет назад +1

      Предпоследний элемент, или первый с конца

  • @Poloskun4ik
    @Poloskun4ik Год назад +1

    Не совсем понял, как меняется индекс всех остальных элементов списка при добавлении или удалении элемента

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

    Здравствуйте,хотел бы кое что уточнить.какой тип данных храниться в data?

  • @yankfire3294
    @yankfire3294 4 года назад +1

    10000000000\10

  • @JoffreyB
    @JoffreyB 6 лет назад +3

    у меня такой вопрос: вы говорите, что сначала мы удаляем указатель на данные, а потом "после этого" удаляем сами данные, но как мы к данным попадем, если мы уже удалили указатель?

    • @user-rm3eu6we8c
      @user-rm3eu6we8c 5 лет назад +3

      да копию сперва делаем, потом остальные махинации,) это итак понятно,)

  • @user-md2zn1zj6b
    @user-md2zn1zj6b 10 месяцев назад

    После урока реализации односвязного этот был изи спасибо

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

    Дякую

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

    12:40

  • @user-ck1vp7fp9l
    @user-ck1vp7fp9l Год назад +1

    А на Python списки также работают?

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

      Мы не на Python программируем

  • @bionager
    @bionager 9 месяцев назад

    живу только ради его видосов...

  • @user-by1nq8zf6k
    @user-by1nq8zf6k 3 месяца назад

    а есть материал по реализации этих структур на js

    • @GeorgyDev11111
      @GeorgyDev11111 3 месяца назад

      есть, на моём github, я сейчас как раз пишу эти реализации, пока только однонаправленный список реализовал - GeorgyDev11111/data_structures

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

    А где пример реализации?)

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

    🤔🤔🤔🤔

  • @sezamenko
    @sezamenko 2 года назад +1

    А что если в двусвязный список добавить адресс среднего элемента, это по-идеи должно ускорить поиск элемента в 2 раза, а по-сравнению с односвязным в 4 раза

    • @ruslandad365
      @ruslandad365 8 месяцев назад

      Я тоже об этом подумал
      а еще я подумал над тем чтобы разделить этот список на небходимые входы так скажем
      например
      массив на 1000 ячеек делим на 10
      и получается отступ по 100 элементам
      там уже ориентироваться будет куда легче)
      ну конечно все зависит от задачи
      и колечества элементов на сколько делить)

  • @dukenukem1675
    @dukenukem1675 2 года назад

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

    • @user-ll5dg6zm8d
      @user-ll5dg6zm8d 2 года назад

      Бро,когда дойду до мап,может тогда и отвечу)))

    • @user-ll5dg6zm8d
      @user-ll5dg6zm8d 2 года назад

      Или ты уже понял?

  • @danylo97
    @danylo97 4 года назад +5

    У вас тут какое-то видео про с++ между рекламой

  • @hd7956
    @hd7956 4 года назад +7

    Вот двусвязный список собственного производства , какахами не кидайтесь . Если кому-то надо забирайте .
    #include
    #include
    #include
    #include
    #include
    //#include
    using namespace std;
    template
    class List {
    public:
    List();
    ~List();
    int& Getsize() { return size; }
    void push_back(T data );
    void push_front(T data );
    T& operator[](int index);
    private:
    int size;

    template
    class Node {
    public:
    T data;
    Node* pNext;
    Node* pPrev;
    Node(T data = T(), Node*pNext=nullptr,Node*pPrev =nullptr) {
    this->data = data;
    this->pNext = pNext;
    this->pPrev = pNext;
    }
    };
    Node* head;
    Node* tail;
    };
    template
    List::List()
    {
    size = 0;
    head = nullptr;
    tail = nullptr;
    }
    template
    List::~List()
    {
    }
    template
    void List::push_front(T data)
    {
    if (head == nullptr) {
    head = new Node(data);
    tail = head;
    }
    else {
    Node* neww = new Node(data);
    Node* temphead = head;
    head = neww;
    head->pNext = temphead;
    temphead->pPrev = neww;
    }
    size++;
    }
    template
    T& List::operator[](int index)
    {
    if ((size % 2 == 1&& index pNext;
    temp1++;
    }
    }
    else {
    int number = 0;
    if (size % 2 == 1) {
    number = (size - 1) - index;
    }
    else {
    number= (size - 1) - index;
    }
    int temp1 = 0;
    Node* temp = tail;
    while (temp != nullptr) {
    if (temp1 == number) {
    return temp->data;
    }
    temp = temp->pPrev;
    temp1++;
    }
    }
    }
    template
    void List::push_back(T data)
    {
    if (head == nullptr) {
    head = new Node(data);
    tail = head;
    }
    else {
    Node* neww = new Node(data);
    Node* temphead = tail;
    tail = neww;
    tail->pPrev = temphead;
    temphead->pNext = neww;
    }
    size++;
    }
    void main() {
    List A;
    for (int i = 0; i < 9; i++) {
    A.push_front(rand() % 20);

    }
    cout

    • @ruslandad365
      @ruslandad365 8 месяцев назад

      Страшно очень страшно
      если бы мы знали что это такое
      но мы не знаем что это такое)

  • @markmorev4600
    @markmorev4600 2 года назад

    Самый лучший способ донести информацию показывать ее в коде, а не на квадратиках и кружках!

  • @AB-ku1su
    @AB-ku1su 2 года назад

    Где реализация, зачем эта мурзилка

  • @user-bx7ly2th3b
    @user-bx7ly2th3b 3 года назад

    я вообще не шарю о чем тут идёт речь, поэтому ещё с предыдущей серии у меня вопрос: а почему нельзя хранить 1 дополнительный элемент в памяти, где будут перечислены все элементы списка в виде: номер элемента -} ссылка на область памяти?

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

    Я правильно понял, что односвязный список (ОС) не хранит общее количество элементов (ОК), а двусвязный список (ДС) хранит? Если так, то получается, что при операциях добавление/удаление, ДС соответственно увеличивает/уменьшает это счётчик ОК, верно?

  • @MrGamaliy
    @MrGamaliy 4 года назад +3

    Очень много рекламы - затрудняет восприятие

  • @Ermine882
    @Ermine882 6 лет назад +3

    Спасибо за урок

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

    спасибо

  • @user-pb6fu5cx2h
    @user-pb6fu5cx2h 3 года назад

    Спасибо за урок

  • @user-hb7er4ff9u
    @user-hb7er4ff9u 2 года назад

    спасибо