做,你所有的断言都通过了吗?这是错误
do, all of your assertions pass? This is the Error
交换位置和最小索引处的值。使用 swap 和 indexOfMinimum 函数编写选择排序。这就是问题所在,我的逻辑没有t know what
错误,为什么我的代码没有运行 断言语句正确。
var swap = function(array, firstIndex, secondIndex) {
var temp = array[firstIndex];
array[firstIndex] = array[secondIndex];
array[secondIndex] = temp;
};
var indexOfMinimum = function(array, startIndex) {
var minValue = array[startIndex];
var minIndex = startIndex;
for(var i = minIndex + 1; i < array.length; i++) {
if(array[i] < minValue) {
minIndex = i;
minValue = array[i];
}
}
return minIndex;
};
var selectionSort = function(array) {
var j;
var smallest;
for(j = 0; j < array.length; j++)
{
smallest = indexOfMinimum(array, 0);
swap(array , j , smallest);
}
};
var array = [22, 11, 99, 88, 9, 7, 42];
selectionSort(array);
println("Array after sorting: " + array);
Program.assertEqual(array, [7, 9, 11, 22, 42, 88, 99]);
您的代码中存在错误,请尝试 运行
var swap = function(array, firstIndex, secondIndex) {
var temp = array[firstIndex];
array[firstIndex] = array[secondIndex];
array[secondIndex] = temp;
};
var indexOfMinimum = function(array, startIndex) {
var minValue = array[startIndex];
var minIndex = startIndex;
for(var i = minIndex + 1; i < array.length; i++) {
if(array[i] < minValue) {
minIndex = i;
minValue = array[i];
}
}
return minIndex;
};
var selectionSort = function(array) {
var j;
var smallest;
for(j = 0; j < array.length; j++)
{
smallest = indexOfMinimum(array, j);
swap(array , j , smallest);
}
};
var array = [22, 11, 99, 88, 9, 7, 42];
selectionSort(array);
console.log("Array after sorting: " + array);
在 selectionSort()
smallest = indexOfMinimum(array, 0);
应该是
smallest = indexOfMinimum(array, j);
交换位置和最小索引处的值。使用 swap 和 indexOfMinimum 函数编写选择排序。这就是问题所在,我的逻辑没有t know what
错误,为什么我的代码没有运行 断言语句正确。
var swap = function(array, firstIndex, secondIndex) {
var temp = array[firstIndex];
array[firstIndex] = array[secondIndex];
array[secondIndex] = temp;
};
var indexOfMinimum = function(array, startIndex) {
var minValue = array[startIndex];
var minIndex = startIndex;
for(var i = minIndex + 1; i < array.length; i++) {
if(array[i] < minValue) {
minIndex = i;
minValue = array[i];
}
}
return minIndex;
};
var selectionSort = function(array) {
var j;
var smallest;
for(j = 0; j < array.length; j++)
{
smallest = indexOfMinimum(array, 0);
swap(array , j , smallest);
}
};
var array = [22, 11, 99, 88, 9, 7, 42];
selectionSort(array);
println("Array after sorting: " + array);
Program.assertEqual(array, [7, 9, 11, 22, 42, 88, 99]);
您的代码中存在错误,请尝试 运行
var swap = function(array, firstIndex, secondIndex) {
var temp = array[firstIndex];
array[firstIndex] = array[secondIndex];
array[secondIndex] = temp;
};
var indexOfMinimum = function(array, startIndex) {
var minValue = array[startIndex];
var minIndex = startIndex;
for(var i = minIndex + 1; i < array.length; i++) {
if(array[i] < minValue) {
minIndex = i;
minValue = array[i];
}
}
return minIndex;
};
var selectionSort = function(array) {
var j;
var smallest;
for(j = 0; j < array.length; j++)
{
smallest = indexOfMinimum(array, j);
swap(array , j , smallest);
}
};
var array = [22, 11, 99, 88, 9, 7, 42];
selectionSort(array);
console.log("Array after sorting: " + array);
smallest = indexOfMinimum(array, 0);
应该是
smallest = indexOfMinimum(array, j);