Hallo und danke, dass Sie sich die Zeit genommen haben, sich das anzuschauen.Schleife durch eine Warteschlange mit for-Schleifen und If/Else
Ich versuche, die folgende Ausgabe zu erreichen:
Iteration 0:
Warteschlange 1 = 2345678910 | Warteschlange 2 =
Iteration 1:
Warteschlange 1 = 3579 | Warteschlange 2 = 2
Iteration 2:
Warteschlange 1 = 57 | Warteschlange 2 = 23
Iteration 3:
Warteschlange 1 = 7 | Warteschlange 2 = 235
Iteration 4:
Warteschlange 1 = | Queue 2 = 2357
Dies soll eine Implementierung von „The Sieve of Eratosthenes“
Ich will nicht sein liegen diese Arbeit offenbar Schule ist! (Obwohl die Frist vorbei ist und ich nicht versuche, eine einfache Note zu bekommen. Ich möchte wirklich wissen, warum ich das nicht zur Arbeit bringen konnte)
Ich habe intensiv gesucht, aber alle ähnlichen Dinge, die ich gefunden habe, werden mit Arrays implementiert. (was der Professor nicht erlaubt)
here ist eine Geige, die zeigt, wo ich bin an:
das scheint mein Problem zu sein Es wird nicht das letzte Element entfernen.
if (this.first == this.last) {
this.first = null;
return this.first.content;
this.length--;
}
ich vollgestopft mit allen Arten von Steueranweisungen, um die Logik Problem zu finden ...
, als ich begann ich ziemlich sicher war, was ich tun kann es folgt mag:
Schleife durch Queue 1 und aktuellen Wert (x) speichern - Schleife durch Warteschlange 1, bewegen Sie den ersten Punkt 2 to Queue ---- IF/Else aktuelles Element von x Schachzug sonst Wieder Warteschlange teilbar ist
I eingeschaltet es bis zu while-loops aber es wird
// find the primes function
function fp() {
fillQueue(); // call the fillQueue function below
document.getElementById("output").innerHTML += "Ctrl " + "|it. " + it + " |queue length " + q1.length + " |x " + x + " |current x" + cx + " |Q1: = " + q1.toString() + " | Q2: = " + q2.toString() + " | Q3: = " + q3.toString() + "<br />";
while (q1.length >= 0) {
dq1();
cx = x;
q3.enqueue(cx);
while (q1.length >= 0) {
dq1();
eval();
it++;
}
while (q2.length >= 0) {
dq2();
d1.enqueue(x);
}
}
Erinnern Sie sich: '=' Zuordnung ist, '==' (oder besser gesagt, '' ===) ist zum Vergleich. Diese Zeile wird dir einige Probleme bereiten: it = n - 1. Das sollte wahrscheinlich auch '<' oder '<=' anstelle von '=' sein. –
danke für die Antwort ... das reparierte das Iterationsproblem und brachte mich näher ... habe noch einige Probleme zu lösen, da die Ausgabe immer noch nicht stimmt – Qriz75