La fonction du tri d'insertion ne fonctionne pas. L'erreur est: Une fonction prend trop de temps à s'exécuter. Peut-être avez-vous une erreur dans votre code?Pourquoi mon code ne fonctionne pas? Insertion Tri
// this function
var insert = function(array, rightIndex, value) {
for(var j = rightIndex;
j >= 0 && array[j] > value;
j--)
{
array[j + 1] = array[j];
}
array[j + 1] = value;
};
var insertionSort = function(array) {
for(var i = 0; i < array.length ; i++)
{
insert(array,i,array[i+1]);
}
};
var array = [22, 11, 99, 88, 9, 7, 42];
insertionSort(array);
println("Array after sorting: " + array);
Program.assertEqual(array, [7, 9, 11, 22, 42, 88, 99]);
est peut-être la peine d'expliquer pourquoi ce changement est nécessaire. Comme personne ne va apprendre de cette réponse – Deckerz
Par 'array [i + 1]' nous ne pouvons pas être sûrs s'il y a un élément i + 1' –
La question est de définir la fonction insertionSort pas l'insert, change Error reste le même –