C
Chris1986
Gast
Hallo, ich habe mal eine allgemeine Frage.
z.b. eine einfache Klasse
public class auto
{
int ps;
Auto nachfolger;
}
Jetzt kann ich mir Autos anlegen:
auto golf1 = new(auto);
auto golf2 = new(auto);
auto golf3 = new(auto);
auto golf4 = new(auto);
golf1.ps = 20
golf2.ps = 50
golf3.ps = 70
golf4.ps = 100
und jetzt die Verweise:
golf1.nachfolger = golf2
golf2.nachfolger= golf3
golf3.nachfolger = golf4
Wenn man davon ausgeht, dass man bei golf1 startet und zu Golf 4 möchte, kann man golf 4 ja folgendermaßen aufrufen:
System.out.println(golf1.nachfolger.nachfolger.nachfolger.ps);
Mit einer Rekursion käme man da etwa so hin:
int b = 0
public void gehezu(int a, auto auto)
{
b = b+1
if(b<a)
{system.out.println(auto.ps)
gehezu (a, auto.nachfolger)
}
wenn man das mit a = 3 aufruft, hat man ja das gleiche wie
golf1.nachfolger.nachfolger.nachfolger.ps
(von der Idee her zumindest
)
Wie würde man über eine if / while Schleife, also ohne Rekursion erreichen, dass man beim ersten Durchlauf
golf1
bei zweiten
golf1.nachfolger
bei dritten
golf1.nachfolger.nachfolger
also immer einen nachfolger mehr stehen hat?
Funktioniert das? Man sagt ja, jede Rekursion kann durch eine Schleife ersetzt werden.
Nur wie hier?
}
z.b. eine einfache Klasse
public class auto
{
int ps;
Auto nachfolger;
}
Jetzt kann ich mir Autos anlegen:
auto golf1 = new(auto);
auto golf2 = new(auto);
auto golf3 = new(auto);
auto golf4 = new(auto);
golf1.ps = 20
golf2.ps = 50
golf3.ps = 70
golf4.ps = 100
und jetzt die Verweise:
golf1.nachfolger = golf2
golf2.nachfolger= golf3
golf3.nachfolger = golf4
Wenn man davon ausgeht, dass man bei golf1 startet und zu Golf 4 möchte, kann man golf 4 ja folgendermaßen aufrufen:
System.out.println(golf1.nachfolger.nachfolger.nachfolger.ps);
Mit einer Rekursion käme man da etwa so hin:
int b = 0
public void gehezu(int a, auto auto)
{
b = b+1
if(b<a)
{system.out.println(auto.ps)
gehezu (a, auto.nachfolger)
}
wenn man das mit a = 3 aufruft, hat man ja das gleiche wie
golf1.nachfolger.nachfolger.nachfolger.ps
(von der Idee her zumindest
Wie würde man über eine if / while Schleife, also ohne Rekursion erreichen, dass man beim ersten Durchlauf
golf1
bei zweiten
golf1.nachfolger
bei dritten
golf1.nachfolger.nachfolger
also immer einen nachfolger mehr stehen hat?
Funktioniert das? Man sagt ja, jede Rekursion kann durch eine Schleife ersetzt werden.
Nur wie hier?
}