Я пытаюсь создать функцию, которая будет рекурсивно выводить мой список ссылок, но у меня возникают проблемы с этим, потому что рекурсия просто сложна.Печать LinkedList Рекурсивно с использованием C++
Это функция, которую я написал, очевидно, принимает параметр, но я не знаю, как его передать. И, вероятно, результат неправильный.
Я использовал ЬурейеЕ:
typedef struct node* nodePtr;
и благодаря входу одного из парней, я обновил свою функцию, чтобы выглядеть, но теперь Visual Studio дает ошибку, которая говорит:
«Декларация несовместима с void List :: PrintListRecursively», поэтому я удивляюсь, что способ передачи параметра просто немного отличается.
спасибо заранее
void List::PrintListRecursively(nodePtr curr){
if (curr==NULL)
{
cout << "\n";
return;
}
cout << curr->data <<endl;
PrintListRecursively(curr->next);
}
я написал ту же функцию, не рекурсивно:
void List::PrintList(){
curr = head;
while(curr != NULL)
{
cout << curr->data <<endl;
curr = curr->next;
}
}
и это один работает. Может кто-нибудь помочь с частью рекурсии и помочь мне узнать, что случилось. Не будьте слишком скупы.
В чем проблема с рекурсивным примером? Почему результат неправильный? Не могли бы вы разместить небольшой рабочий пример? – elimirks
Рекурсия не сложна. Объявите параметр в определении функции. http://www.cplusplus.com/doc/tutorial/functions2/ –
Я отредактировал вопрос – Will