Вывести значения односвязного списка
Доброе утро, ребят.
Сегодня наткнулся на хитрую задачу:
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, время: 02:06. |