Привет и спасибо, что нашли время, чтобы посмотреть на это.Цикл в очереди с петлями и If/Else
Я пытаюсь достичь следующий вывод:
Итерация 0:
Queue 1 = 2345678910 | Очередь 2 =
Итерация 1:
Очередь 1 = 3579 | Очередь 2 = 2
Итерация 2:
Очередь 1 = 57 | Очередь 2 = 23
Итерация 3:
Очередь 1 = 7 | Очередь 2 = 235
Итерация 4:
Очередь 1 = | Очередь 2 = 2357
Это должно быть реализация «The Sieve of Eratosthenes»
Я не буду врать это, очевидно, школьная работа! (Хотя крайний срок прошел, и я не пытаюсь получить легкий класс. Я действительно хочу знать, почему я не мог заставить это работать)
Я интенсивно искал поиск, но все подобные вещи были реализованы с использованием массивов. (что профессор не позволяет)
here является скрипкой, которая показывает, где я нахожусь:
Это, кажется, моя проблема Это не будет удалить последний элемент.
if (this.first == this.last) {
this.first = null;
return this.first.content;
this.length--;
}
Я завален его со всеми видами управляющих операторами, чтобы найти логическую проблему ...
, когда я начинал, я был уверен, что я могу сделать это, как следует:
Петли через очередь 1 и сохранить текущее значение (х) - Loop через очередь 1, переместить первый элемент в очередь 2 ---- если/другое элемент тока делится на й двигаться по другой повторной очереди
Я включил это до тех пор, пока петли, но она застревает с удалением последнего элемента
// 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);
}
}
Помните: '=' это назначение, '' == (или лучше, '' ===) для сравнения. Эта строка вызовет у вас некоторые проблемы: 'it = n - 1'. Вероятно, это также должно быть '<' или '<=' вместо '='. –
спасибо за ответ ... что исправил проблему итерации и приблизил меня ... все еще есть некоторые проблемы, которые нужно решить, поскольку вывод все еще не прав – Qriz75