Aus irgendeinem Grund kann ich diesen Code nicht richtig sortieren. Ich ersetze die Bestellnummern, um eine geordnete Liste zu erstellen.Warum stoppt diese While-Schleife nicht?
var unsortedArray = new Array(1,2,5,4);
var sortedArray = unsortedArray;
var tempValue = 0;
function isSorted(array)
{
for (i = 0; i < array.length; i++)
{
if (array[i] > array[i+1])
{
return false;
}
}
return true;
}
function sort(array)
{
while (isSorted(array) == false)
{
for (i = 0; i < length; i++)
{
var tempValue = array[i];
array[i] = array[i+1];
array[i+1] = tempValue;
}
}
}
sort(sortedArray);
document.write(sortedArray);
Die hier while-Schleife soll, stoppen, wenn das Array sortiert ist, aber das kommt nie vor.
Hypothese: Das Array ist nicht wie erwartet sortiert. – user2864740
'für (i = 0; i
Ihre Sortierung vergleicht die Elemente nicht, um zu sehen, ob sie ausgetauscht werden müssen. Es tauscht sie immer nur aus, egal ob sie es brauchen oder nicht. Das Array wird also nie in einen sortierten Zustand versetzt. – RJM