JAVA. Односвязный список

  Рет қаралды 9,214

IT FUN Training

IT FUN Training

Күн бұрын

Пікірлер: 28
@vikashaida3562
@vikashaida3562 2 жыл бұрын
Благодарю за материал =)
@JEWMBA
@JEWMBA Жыл бұрын
спасибо
@vladbohdanets2976
@vladbohdanets2976 3 жыл бұрын
Скажите пожалуйста, как вставить какое небуть число, например 10, перед каждым числом, равным 15 ?
@ruslanzubkov4297
@ruslanzubkov4297 3 жыл бұрын
В целом хороший урок. Но вот с удалением, что-то не то. У меня вместо int правда String. Но это не имеет значения. Почему-то корректно удаляет только второй элемент (под номером один), остальное абракадабка. На видео, кстати, тоже удаляется второй элемент.
@gulbagomedovich
@gulbagomedovich 3 жыл бұрын
У него неправильно. Вот: public void remove(int element) { Node previous = head; Node current = head; while (current != null && current.getElement() != element) { previous = current; current = current.getNext(); } if (current != null) { if (current == head) { head = head.getNext(); } else { previous.setNext(current.getNext()); } } }
@anasko3824
@anasko3824 2 жыл бұрын
сейчас 20 минут искал, что у меня не так, жопа сгорела дотла просто
@ИльяГопак
@ИльяГопак 3 жыл бұрын
Правильный removeAt() public void removeAt(int key) { LinkList cur = head; LinkList prev = head; while(cur != null && cur.key != key){ prev = cur; cur = cur.next; } if (cur != null) { if (cur == head) { head = head.next; } else { prev.next = cur.next; } } }
@Victor-yw1ml
@Victor-yw1ml 4 жыл бұрын
Спасибо большое за урок. Могли бы Вы ответить чем односвязный список отличается от ArrayList()? Какой физический смысл ссылок на следующий элемент? И LinkedList() - не есть ли это тот же односвязный список? Спасибо
@ITFUNTraining
@ITFUNTraining 4 жыл бұрын
Это очень глобальный вопрос, но если вкратце, то у Листа множество реализаций и все они отличаются по времени выполнения. Если интересно, вот тут подробно описано: javarush.ru/quests/lectures/questsyntax.level08.lecture05
@Victor-yw1ml
@Victor-yw1ml 4 жыл бұрын
@@ITFUNTraining Спасибо - хорошее и короткое объяснение различий. У меня в лабораторной требуется создать линейный односвязный список и упорядочить его в соответствии с заданным порядком в массиве. Линейный односвязный список здесь - это и есть LinkedList?
@ITFUNTraining
@ITFUNTraining 4 жыл бұрын
@@Victor-yw1ml Да.
@КонстантинСухопаров-с7ъ
@КонстантинСухопаров-с7ъ 2 жыл бұрын
Логика странная. Только запутался. И кстати, если удаляем последний элемент, то есть 10, то удаляется все равно 20.
@Victor-yw1ml
@Victor-yw1ml 4 жыл бұрын
Подскажите пож-та метод добавления нового элемента в конец списка.
@ITFUNTraining
@ITFUNTraining 4 жыл бұрын
Прошу прощения за задержку. Для метода добавления в конец списка создайте дополнительную переменную tail(хвост), она облегчит работу. Если есть еще вопросы, то можете посмотреть здесь в репозитории: bitbucket.org/Alexander_07/linkedlist/src/master/
@gr1ny1
@gr1ny1 3 жыл бұрын
Подскажите, пожалуйста, как можно удалить несколько элементов сразу, начиная с заданного(например, начиная с 20 и до конца списка)
@ITFUNTraining
@ITFUNTraining 3 жыл бұрын
Здравствуйте, здесь можно поступить так: 1) создать метод удаления по индексу (removeByIndex) или по значению. 2) создать метод удаления по диапазону (removeList). 3)После, вы вызываете метод removeList, в нем есть параметры скажем так from и to. В теле метода цикл for. В теле цикла вы вызываете метод removeByIndex, а он уже удаляет этот элемент из вашего списка. Далее переходите к следующему элементу списка.
@gr1ny1
@gr1ny1 3 жыл бұрын
@@ITFUNTraining большое спасибо, попробую так
@DuhaxD
@DuhaxD 3 жыл бұрын
А разве получился не стек?)
@ITFUNTraining
@ITFUNTraining 3 жыл бұрын
Стек - это частный случай однонаправленного списка
@DuhaxD
@DuhaxD 3 жыл бұрын
@@ITFUNTraining но методы удаления в том же стеке и обычном случае односвязного списка отличаются. Плюс в односвязный список добавляется элемент в конец, а не в начало :)
@andrey3340
@andrey3340 2 жыл бұрын
Немножко попотел и исправил удаление данного элемента Однако код стал побольше, и пришлось добавить булеву переменную private Boolean {bool = true;} в начало класса ============================ public void removeAt(int key) { bool = true; if (isEmpty()) { System.out.println("Лист пуст"); return; } LinkList cur = head; LinkList prev = head; if (cur.data == key) { cur = cur.next; head = cur; bool = false; } while(bool) { if(cur.next == null) { System.out.println("Искомый элемент отсутствует"); bool = false; return; } prev = cur; cur = cur.next; if (cur.data == key) { if(cur.next == null) prev.next = null; else { cur = cur.next; prev.next = cur; } bool = false; } } }
@makarovdmitrii
@makarovdmitrii 4 жыл бұрын
Подскажите а как удалить узел по индексу позиции? то есть есть узлы с индексами : 0 1 2 с любой информацией, я указываю что хочу убрать индекс 1, и теперь индекс 0 указывает на индекс 2 и индекс 1 полностью удален
@ITFUNTraining
@ITFUNTraining 4 жыл бұрын
Если были индексы: 0->1->2 и вы 1 удалили, то остается 0->2. Здесь все верно, удалился ведь один узел. bitbucket.org/Alexander_07/singlelinked-list/src/master/
@vasilyaasyanova1901
@vasilyaasyanova1901 4 жыл бұрын
а что означает next ? Для чего он предназначен ?
@ITFUNTraining
@ITFUNTraining 4 жыл бұрын
next это ссылка на последующие элементы находящиеся в списке. С помощью него как раз и путешествуем по списку.
@vasilyaasyanova1901
@vasilyaasyanova1901 4 жыл бұрын
@@ITFUNTraining а есть аналоги этой ссылки ?
@ITFUNTraining
@ITFUNTraining 4 жыл бұрын
@@vasilyaasyanova1901 Аналога как такового, нет.
Структуры данных - Linked List
11:39
Eugene Suleimanov
Рет қаралды 23 М.
Java SE. Урок 34. Коллекции ArrayList & LinkedList
24:11
Follow the white rabbit
Рет қаралды 49 М.
How it feels when u walk through first class
00:52
Adam W
Рет қаралды 24 МЛН
"كان عليّ أكل بقايا الطعام قبل هذا اليوم 🥹"
00:40
Holly Wolly Bow Arabic
Рет қаралды 14 МЛН
Когда отец одевает ребёнка @JaySharon
00:16
История одного вокалиста
Рет қаралды 15 МЛН
JAVA.  Двухсвязный список
26:06
IT FUN Training
Рет қаралды 7 М.
Comparable и Comparator в Java
20:55
Тимофей Коваленко
Рет қаралды 12 М.
Java. Обращение односвязного списка.
20:34
Sergey Arkhipov Java Tutorials
Рет қаралды 9 М.
Java. Очередь и стек.
22:03
Sergey Arkhipov Java Tutorials
Рет қаралды 22 М.
Урок 7 - LinkedList (прокачанная Java)
19:58
Програмания
Рет қаралды 22 М.
Односвязный список
14:41
Олимпиадное программирование в УлГТУ
Рет қаралды 5 М.
How it feels when u walk through first class
00:52
Adam W
Рет қаралды 24 МЛН