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

Структуры данных являются жизненно важной частью информатики. Они важны для понимания основ и часто всплывают в интервью.

В информатике связанный список — это линейная структура данных, расположение которой не определяется их адресом. Это структура данных, состоящая из набора узлов, которые вместе представляют собой последовательность.

Это для тех, как ошибается связанный список,

Array : 0, 1, 2, 3, 4, 5
Linked-list: head = 0 → 1 → 2 → 3 → 4 → 5 → 

Односвязный список с головой

Это называется односвязным, потому что каждый элемент имеет только одностороннюю ссылку на следующий элемент. Каждое звено в цепи называется узлом.

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

Алгоритм

  • Создается сигнальный узел.

  • Целочисленная переменная создается для хранения количества шагов/перестановок.

  • Предыдущий обход выполняется с использованием цикла while при условии, что начало уменьшается до тех пор, пока не станет 1.

  • Два указателя узла и узел создаются для хранения узлов после реверса.

  • Выполните традиционный обмен, однако на этот раз мы обмениваемся ссылками.

  • Сделайте так, чтобы хвост предыдущего списка указывал на новый заголовок обратного списка, а хвост обратного списка указывал на заголовок предыдущего списка и возвращал новый заголовок после контрольного узла.

Итеративное решение:

Наконец, связанный список можно перевернуть/переупорядочить, заменив ссылки, и я надеюсь, что вы со мной в этом вопросе. Оставайтесь в безопасности; обеспечен.

Удачного листинга!

  1. Визуализировать этот алгоритм, PythonTutor
  2. Видео о LLreversal, YouTube
  3. Когда использовать связанный список вместо массива/списка массивов?, StackOverflow
  4. Структуры данных: массивы и связанные списки, mycodeschool