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

  Рет қаралды 129,143

#SimpleCode

#SimpleCode

Күн бұрын

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

Пікірлер: 99
@SimpleCodeIT
@SimpleCodeIT 6 жыл бұрын
*Cамый лучший способ сказать "спасибо" - поставить лайк и и поделиться уроком с друзьями. Это очень мотивирует создавать полезные уроки =)*
@николай-г7ю3з
@николай-г7ю3з 6 жыл бұрын
Я просто зашёл лайк поставить.Мне ещё рано такое смотреть
@SimpleCodeIT
@SimpleCodeIT 6 жыл бұрын
Спасибо! =)
@overdoses1794
@overdoses1794 6 жыл бұрын
Сергей, а вы же не просто так стали программистом, вы же знаете computer science. Если вы изучали это, то пожалуйста, скажите хорошую книгу или хорошие уроки). Лайк, репост сделал=)
@veter4699
@veter4699 6 жыл бұрын
Хах, так же делаю))
@Poloskun4ik
@Poloskun4ik Жыл бұрын
Не совсем понял, как меняется индекс всех остальных элементов списка при добавлении или удалении элемента
@hd7956
@hd7956 4 жыл бұрын
Вот двусвязный список собственного производства , какахами не кидайтесь . Если кому-то надо забирайте . #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 11 ай бұрын
Страшно очень страшно если бы мы знали что это такое но мы не знаем что это такое)
@Муриель74
@Муриель74 6 жыл бұрын
Начал свой путь изучения С++ с вашего канала. Только благодаря Вам , Сергей, и Вашему неоценимому труду мои знания пребывают на таком уровне.
@СправаФея
@СправаФея 6 жыл бұрын
тебе повезло. а меня сперва "закинуло" к Гоше Дударь,) слава богам, там почти с порога видно качество преподавания, но пару дней я все таки потерял,
@jojomajo
@jojomajo 4 жыл бұрын
@@СправаФея Боже упаси я проклинаю ютуб, который заваливает ссылками на его ролики... самый большой вред для начинающего программист начинать обучение с таких недопрограммистов как дударь
@АнатолийСоболев-н5к
@АнатолийСоболев-н5к 6 жыл бұрын
Уважаемый автор! Вы планируете сделать реализацию двухсвязного списка после картинок? Уроки качественные, но сделать реализацию новичку сложновато даже на базе урока на основе односвязного списка
@ТониСпейс-р4ш
@ТониСпейс-р4ш 6 жыл бұрын
+
@elenatalley7899
@elenatalley7899 2 жыл бұрын
поддерживаю!
@kitemanrus
@kitemanrus 2 жыл бұрын
Самому реализовывать не нужно, уже все давно реализовано, например в C# есть LinkedList - это и есть реализация двусвязного списка. Главное - понимание принципов функционирования.
@libertariancom
@libertariancom Жыл бұрын
@@kitemanrus Ну суть же про практику и понимание, как это работает внутри
@Yanohi-hw3zu
@Yanohi-hw3zu Жыл бұрын
Все довольно легко так то, зная об односвязном списке..
@borisshalabanov4620
@borisshalabanov4620 6 жыл бұрын
хехе, у меня поучилось сделать всю реализацию, все благодря вам, Сергей, спасибо за уроки
@SimpleCodeIT
@SimpleCodeIT 6 жыл бұрын
Пожалуйста!
@katerynavlasova9161
@katerynavlasova9161 3 жыл бұрын
можете поделиться? у меня завал(
@havel_17
@havel_17 5 жыл бұрын
8:40 я уже думал что моргнул не так
@jangiryanarsen4952
@jangiryanarsen4952 6 жыл бұрын
Просто безумно интересно, продолжай в таком же духе Сергей!!! От меня лайк.
@SimpleCodeIT
@SimpleCodeIT 6 жыл бұрын
#двусвязныйсписок #динамическиеструктурыданных #SimpleCode #урокипрограммирования
@KurpatovInstagram
@KurpatovInstagram 6 жыл бұрын
спасибо!
@vladalu9794
@vladalu9794 6 жыл бұрын
Спасибо большое Сергей за отличный урок!!!!
@last2636
@last2636 Жыл бұрын
Прекрасное изложение материала, спасибо за ваш труд.
@ПавелБойко-ь2д
@ПавелБойко-ь2д 3 жыл бұрын
Спасибо за урок ) Ну на примере этих квадратиков (псевдо-элементов) всё понятно . Но я точно не смог бы сейчас сам написать односвязный /двусвязный список на C#....Наверно=/
@borisshabanov6702
@borisshabanov6702 6 жыл бұрын
Спасибо! Следующий урок уже STL будет?
@SimpleCodeIT
@SimpleCodeIT 6 жыл бұрын
STL будет когда закончим рассмотрение всех динамических структур данных.
@overdoses1794
@overdoses1794 6 жыл бұрын
Сергей, а вы же не просто так стали программистом, вы же знаете computer science. Если вы изучали это, то пожалуйста, скажите хорошую книгу или хорошие уроки). Лайк, репост сделал=)
@SimpleCodeIT
@SimpleCodeIT 6 жыл бұрын
Посмотри уроки Андрея Созыкина.
@oraclevb5430
@oraclevb5430 4 жыл бұрын
Я бы ответил посмотри лессонсы Андрея Созыкина)😂
@overdoses1794
@overdoses1794 4 жыл бұрын
@@oraclevb5430 да ну всё. я забил на программирование) Не оч как по мне)
@oraclevb5430
@oraclevb5430 4 жыл бұрын
@@overdoses1794 xD
@pavelrusak3338
@pavelrusak3338 2 жыл бұрын
@@overdoses1794 Вердикт такой: Смотреть уроки Созыкина занимает 2 года и отбивает всяческое желание программировать )))
@КінчурВадим
@КінчурВадим 5 жыл бұрын
После урока решил сам реализовать данный список. Думаю, что не зря, узнал много нового, учась на своих же ошибках. Спасибо за урок!
@IRenataI
@IRenataI Жыл бұрын
Скинь код пожалуйста
@ДмитрийСидоров-й8и
@ДмитрийСидоров-й8и 2 жыл бұрын
А на Python списки также работают?
@dondimon3910
@dondimon3910 6 ай бұрын
Для полного закрепления материала рекомендую код из предыдущих 3ёх видео по односвязным спискам модифицировать для работы с двусвязными списками.
@vahepanch1737
@vahepanch1737 3 жыл бұрын
Здравствуйте! Пожалуйста записывайте видеоуроки про паттерны проектирования на C++. Спасибо!! =)
@dukenukem1675
@dukenukem1675 2 жыл бұрын
а вообще можно было бы прикрутить алгоритм как в мар по поиску ссылки на ячейку этого списка, типа 10 ячеек, делим сайз(10) на две части, если индекс который мы ищем больше 5 то опять делим, правую часть, если больше 8ми то либо 9 либо 10, ну в общем опять же как в мар=)
@АндрейМиненко-ц3з
@АндрейМиненко-ц3з 6 жыл бұрын
Спасибо за урок
@borisshalabanov4620
@borisshalabanov4620 6 жыл бұрын
спасибо, попробую написать
@andrewlekarski8112
@andrewlekarski8112 5 жыл бұрын
Объясните пожалуйста, а откуда мы знаем где в памяти лежит последний элемент? Они же в хаотичном порядке расположены. Если на первый элемент указывает просто имя (так говорил автор в видео однонаправленного списка), то что указывает на последний?
@moy_gospadin_ABOBA
@moy_gospadin_ABOBA 5 жыл бұрын
Предпоследний элемент, или первый с конца
@JoffreyB
@JoffreyB 6 жыл бұрын
у меня такой вопрос: вы говорите, что сначала мы удаляем указатель на данные, а потом "после этого" удаляем сами данные, но как мы к данным попадем, если мы уже удалили указатель?
@СправаФея
@СправаФея 6 жыл бұрын
да копию сперва делаем, потом остальные махинации,) это итак понятно,)
@kaynsolo
@kaynsolo 6 жыл бұрын
Like!
@dimam4263
@dimam4263 3 жыл бұрын
Доброй ночи! Мне очень нравится Ваш канал!!! Запищите пожалуйста видео по новым стандартам с++!!!! Очень прошу!!!
@ВикторЛогинов-з9р
@ВикторЛогинов-з9р 5 жыл бұрын
Сергей, вы супер учитель. Внятно, доступно, неторопливо.
@ДмитрийБузницкий-б3н
@ДмитрийБузницкий-б3н 2 жыл бұрын
Спасибо за такой хороший теоретический урок.
@temurbekabdunasimov8476
@temurbekabdunasimov8476 8 ай бұрын
thank's man
@bionager
@bionager 11 ай бұрын
живу только ради его видосов...
@Ermine882
@Ermine882 6 жыл бұрын
Спасибо за урок
@mykhailomorhal2181
@mykhailomorhal2181 6 жыл бұрын
Спасибо)
@sezamenko
@sezamenko 2 жыл бұрын
А что если в двусвязный список добавить адресс среднего элемента, это по-идеи должно ускорить поиск элемента в 2 раза, а по-сравнению с односвязным в 4 раза
@ruslandad365
@ruslandad365 11 ай бұрын
Я тоже об этом подумал а еще я подумал над тем чтобы разделить этот список на небходимые входы так скажем например массив на 1000 ячеек делим на 10 и получается отступ по 100 элементам там уже ориентироваться будет куда легче) ну конечно все зависит от задачи и колечества элементов на сколько делить)
@yankfire3294
@yankfire3294 4 жыл бұрын
10000000000\10
@alexanderb3698
@alexanderb3698 5 жыл бұрын
Здравствуйте,хотел бы кое что уточнить.какой тип данных храниться в data?
@rajinthunderkeg5005
@rajinthunderkeg5005 5 жыл бұрын
Любой, который укажешь
@ЗаурБерсанов-ь5о
@ЗаурБерсанов-ь5о 5 ай бұрын
а есть материал по реализации этих структур на js
@GeorgyDev11111
@GeorgyDev11111 5 ай бұрын
есть, на моём github, я сейчас как раз пишу эти реализации, пока только однонаправленный список реализовал - GeorgyDev11111/data_structures
@БорисЦариков-ъ9п
@БорисЦариков-ъ9п 6 жыл бұрын
Хороший урок
@ИльяИваник-ф8ф
@ИльяИваник-ф8ф 3 жыл бұрын
я вообще не шарю о чем тут идёт речь, поэтому ещё с предыдущей серии у меня вопрос: а почему нельзя хранить 1 дополнительный элемент в памяти, где будут перечислены все элементы списка в виде: номер элемента -} ссылка на область памяти?
@ИринаИрина-ш5ы7р
@ИринаИрина-ш5ы7р Жыл бұрын
Огромное спасибо,действительно полезная информация!!❤❤
@Ingwar_
@Ingwar_ 6 жыл бұрын
спасибо
@ИгроманРоман-н2ш
@ИгроманРоман-н2ш Жыл бұрын
После урока реализации односвязного этот был изи спасибо
@vladosbro6372
@vladosbro6372 3 жыл бұрын
Дякую
@e_viskhan
@e_viskhan 4 ай бұрын
Отличное объяснение. Лайк
@danylo97
@danylo97 4 жыл бұрын
У вас тут какое-то видео про с++ между рекламой
@AB-ku1su
@AB-ku1su 2 жыл бұрын
Где реализация, зачем эта мурзилка
@andrey_sautenko
@andrey_sautenko 7 ай бұрын
Спасибо за простое объяснение)
@andreyshadrin1658
@andreyshadrin1658 3 жыл бұрын
Отличный урок Сергей. Спасибо!
@МихаилБуянов-щ4х
@МихаилБуянов-щ4х 3 жыл бұрын
Данные уроки очень понятные еще и на 2х скорости можно смотреть!
@nightwolf4371
@nightwolf4371 4 жыл бұрын
🤔🤔🤔🤔
@DD0S2
@DD0S2 3 жыл бұрын
спасибо
@dangost16
@dangost16 3 жыл бұрын
Сергей как всегда лучший в мире
@stephandolskii7964
@stephandolskii7964 2 жыл бұрын
19:50 Очень полезным, очень.
@bossmusa9075
@bossmusa9075 4 жыл бұрын
12:40
@RuslanSkiraUkraine
@RuslanSkiraUkraine 3 жыл бұрын
А где пример реализации?)
@oraclevb5430
@oraclevb5430 4 жыл бұрын
четко и ясно а будут уроки по жаве?
@devdev8481
@devdev8481 2 жыл бұрын
Спасибо большое!!!!
@Nito4kin
@Nito4kin 4 жыл бұрын
10/10
@vadimmishuto6255
@vadimmishuto6255 11 ай бұрын
класс)
@hotabmax6431
@hotabmax6431 4 жыл бұрын
Скилл я однозначно подкачал.
@ВітяКоміссаров
@ВітяКоміссаров 2 жыл бұрын
спасибо
@HugoBossKosta
@HugoBossKosta 2 жыл бұрын
видео просто супер-ясно и по делу)
@RomanGadiev
@RomanGadiev 4 жыл бұрын
Спасибо за урок
@blackgolddev4023
@blackgolddev4023 4 жыл бұрын
Спасибо большое очень позновательно.
@C2H5OHH
@C2H5OHH 3 жыл бұрын
Спасибо за урок!
@artushynski
@artushynski 5 жыл бұрын
Есть видео с кодом?
@user_x138
@user_x138 3 жыл бұрын
Perfectly!!! Оказывается, когда я просматривал уроки по односвязным спискам, то реализовал еще дополнительно связь с предыдущим элементам = то есть я САМ реализовал двусвязный список
@dukenukem1675
@dukenukem1675 2 жыл бұрын
поидее если сделать в классе кнструкцию которая бдет содержать в себе указатели на елемент списка и его идентификатор то будет же быстрее и эффективно как с диамическими массивами, типа как создать внутри класса списка мар с ключом по индексу который хранит указатель на ячейку или типо того...ну типа это может быть так вектор реализован или ещё какой нибудь список из стл? я не чтобы прям разбираюсь но просто интересно, кто знает? Подскажите кто нибудь, такое существует?
@Роман-т5е6с
@Роман-т5е6с 2 жыл бұрын
Бро,когда дойду до мап,может тогда и отвечу)))
@Роман-т5е6с
@Роман-т5е6с 2 жыл бұрын
Или ты уже понял?
@markmorev4600
@markmorev4600 2 жыл бұрын
Самый лучший способ донести информацию показывать ее в коде, а не на квадратиках и кружках!
@AShahabov
@AShahabov 5 жыл бұрын
Я правильно понял, что односвязный список (ОС) не хранит общее количество элементов (ОК), а двусвязный список (ДС) хранит? Если так, то получается, что при операциях добавление/удаление, ДС соответственно увеличивает/уменьшает это счётчик ОК, верно?
@MrGamaliy
@MrGamaliy 4 жыл бұрын
Очень много рекламы - затрудняет восприятие
Шок. Никокадо Авокадо похудел на 110 кг
00:44
Officer Rabbit is so bad. He made Luffy deaf. #funny #supersiblings #comedy
00:18
Funny superhero siblings
Рет қаралды 11 МЛН
Inside Out 2: BABY JOY VS SHIN SONIC 3
00:19
AnythingAlexia
Рет қаралды 9 МЛН
Хэш-таблицы за 10 минут
13:01
Николай Тузов — Golang
Рет қаралды 128 М.
Что такое связный список | Linked list на Python
9:08
Односвязный список
14:41
Олимпиадное программирование в УлГТУ
Рет қаралды 4,7 М.