Вывести значения односвязного списка
Доброе утро, ребят.
Сегодня наткнулся на хитрую задачу: function reversePrint (linkedList) { // ... } var someList = { value: 1, next: { value: 2, next: { value: 3, next: { value: 4, next: null } } } }; reversePrint(someList); Напишите код функции (reversePrint), которая выведет значения переданного ей односвязного списка в обратном порядке (4,3,2,1). Для вывода значений используйте конструкцию console.log. Наверное, многие поняли откуда эта задачка :) У меня есть решение, но оно какое-то банальное... А как бы вы решили задачу? И, кстати, объясните, пожалуйста, что это за конструкция console.log |
Цитата:
|
может мне стыдно?)
function reversePrint (linkedList) { alert(linkedList.next.next.next.value+", "+linkedList.next.next.value+", "+linkedList.next.value+", "+linkedList.value) } ну это реально чушь какая-то) |
Цитата:
Вложеность предполагает использование рекурсии. |
Как вариант...
function reversePrint (linkedList) { if (linkedList.next) { reversePrint(linkedList.next) } alert(linkedList.value) } var someList = { value: 1, next: { value: 2, next: { value: 3, next: { value: 4, next: null } } } }; reversePrint(someList); |
Крут! Спасибо
console.log ведь только в firebug'e используется? |
Цитата:
|
Цитата:
Почти месяц ломаю голову с этими списками. Но щас становится ясно. Не понятно новичку как себя ведет интерпритар в таких ситуациях. Не где толком не раскрывают этот момент. Может посоветуете источники какие нить на русском или курсы. Я читаю книжку "Выразительный javaScaript" на русском. И как раз застрял на списках. Щас чуть прояснилось. |
ответ на вопрос
Уважаемый, хотя я и сам ищу информацию про списки, в этом случае я думаю список вложенности вычисляется по уровню указателя, т.е. если указатель указывает на 2 элемент, значит рекурсия находиться на 1 первом уровне и т.д.
|
Часовой пояс GMT +3, время: 10:57. |