Я только что получил этот вопрос из учебника, но я просто не могу понять, что это такое. Вопрос спрашивает: «Объясните в одном предложении, что делает функция, и что« плохо »в этой функции?» (Это не связано с стилем программирования).Рекурсивный Связанный Список Разница
И, между прочим, какая разница между «return f (x, p-> next)» и «p-> next = f (x, p-> next)»? Я просто не могу понять разницу между этими двумя.
struct Node {
int data;
Node* next;
};
Node* f(int x, Node* p) {
if (p == nullptr) {
return nullptr;
}
else if (p->data == x) {
return f(x, p->next);
}
else {
p->next = f(x, p->next);
return p;
}
}
Подумайте, что произойдет для очень длинного связанного списка. Что произойдет в этом случае? (Подсказка: как называется этот сайт?) – MrEricSir
stackoverflow. Потому что он не может содержать больше пространства памяти? –
Стек ограничена. Обычно несколько МБ. – drescherjm