У меня есть связанный список, который я хотел бы заполнить до определенного номера цикла. У меня есть мой код ниже, показывает серию Фибоначчи, используя список C Linked.Как динамически заполнять Связанный список с помощью серии Фибоначчи
Вот мой код без цикла:
#include <stdio.h>
#include <stdlib.h>
typedef struct Node
{
int count;
int fibo;
struct Node* next;
}node;
int
fibo(int val){
if(val == 1 || val == 2) {
return 1;
}
return fibo(val - 1) + fibo(val - 2);
}
int
main (void)
{
node f1, f2, f3;
f1.count = 1;
f1.fibo = fibo(1);
f2.count = 2;
f2.fibo = fibo(2);
f3.count = 3;
f3.fibo = fibo(3);
f1.next = &f2;
f2.next = &f3;
f3.next = NULL;
printf("f1 fibo : %i\n", f1.fibo);
printf("f2 fibo : %i\n", f2.fibo);
printf("f3 fibo : %i\n", f3.fibo);
return (0);
}
Теперь я хочу сделать это с помощью цикла. Как мне это сделать?
Зачем вам нужен связанный список для последовательности Фибоначчи? И почему рекурсивная функция «фибо» перерасчет всей последовательности для каждого члена? –
при отступывании кода никогда не используйте вкладки, потому что каждый текстовый процессор // редактор имеет ширину табуляции/ширину закладки по-разному. Предложите всегда использовать 4 пробела для каждого уровня отступов, которые достаточно широки, чтобы их можно было видеть даже с шириной шрифта с переменной шириной, и позволяет для многих уровней отступа на странице – user3629249
для удобства понимания и читаемости, 1) следовать аксиоме: * только одно утверждение на строку и (самое большее) одно объявление переменной для каждого оператора. * 2) использовать значащие имена переменных. Имена переменных должны указывать на использование или контент (или лучше, оба). – user3629249