Ich habe eine verknüpfte Liste, die ich bis zu einer bestimmten Loop-Nummer auffüllen wollte. Ich habe meinen Code unten zeigt eine Fibonacci-Serie mit einer C-Liste verknüpft.Wie verknüpfte Liste mit Fibonacci-Serie dynamisch bevölkern
Hier ist mein Code ohne Schleife:
#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);
}
Jetzt möchte ich über eine Schleife, dies zu tun. Wie würde ich das tun?
Warum benötigen Sie eine verknüpfte Liste für eine Fibonacci-Sequenz? Und warum berechnet die rekursive 'fibo'-Funktion die gesamte Sequenz für jeden Ausdruck neu? –
Wenn Sie den Code einrücken, verwenden Sie niemals Tabulatoren, da bei jedem Textverarbeitungsprogramm/Editor die Tabulatoren/Tabulatoren unterschiedlich gesetzt sind. Schlagen Sie immer 4 Leerzeichen für jede Einrückungsebene ein, da diese breit genug ist, um gesehen zu werden, sogar mit Schriftarten mit variabler Breite und vielen Einrückungsstufen auf der Seite – user3629249
für einfaches Verständnis und Lesbarkeit, 1) folgen Sie dem Axiom: * nur eine Aussage pro Zeile und (maximal) eine Variablendeklaration pro Anweisung. * 2) Verwenden Sie aussagekräftige Variablennamen. Variablennamen sollten Verwendung oder Inhalt (oder besser beides) angeben. – user3629249