如何以降序(从高到低)对Javascript进行冒泡排序?
我的冒泡排序只适用于表中第二列Maggie下的最大数字。而且它不会贯穿整个阵列。什么在我的代码中不起作用?我看了不同的冒泡排序代码,它看起来和我的类似如何以降序(从高到低)对Javascript进行冒泡排序?,javascript,html,Javascript,Html,我的冒泡排序只适用于表中第二列Maggie下的最大数字。而且它不会贯穿整个阵列。什么在我的代码中不起作用?我看了不同的冒泡排序代码,它看起来和我的类似 函数main(){ var myArr=新数组( [“罗伯特·希尔”,123.54], [“克里斯托弗·雷德金”,54.67], [《玛姬·伍兹》,1000.87], [“詹妮弗·琼斯”,3.34], [“马库斯·帕克”,64.98]); 原件(myArr); 泡泡糖(myArr); } 函数原件(myarray){ 对于(变量i=0;i
函数main(){
var myArr=新数组(
[“罗伯特·希尔”,123.54],
[“克里斯托弗·雷德金”,54.67],
[《玛姬·伍兹》,1000.87],
[“詹妮弗·琼斯”,3.34],
[“马库斯·帕克”,64.98]);
原件(myArr);
泡泡糖(myArr);
}
函数原件(myarray){
对于(变量i=0;i<2;i++){
myarray[i];
对于(var j=0;j<2;j++){
myarray[i][j];
}
}
var table=document.getElementById(“myTable”);
for(变量i=0,行;行=表。行[i];i++){
for(var j=0,col;col=row.cells[j];j++){
col.innerText=myarray[i][j];
}
}
log(myarray);
返回myarray;
}
函数bubbleSort(myarr){
变量长度=myarr.length;
对于(变量i=0;imyarr[j+1]){
var tmp=myarr[j];
myarr[j]=myarr[j+1];
myarr[j+1]=tmp;
}
}
}
var table2=document.getElementById(“myTable2”);
for(变量i=0,行;行=表2.行[i];i++){
for(var j=0,col;col=row.cells[j];j++){
col.innerText=myarr[i][j];
}
}
console.log(myarr);
返回myarr;
}
main()代码>
td{边框:1px纯黑;}
表{margin:1em;边框折叠:collapse;}
我稍微修改了你的逻辑。如果下一个较大,只需交换阵列单元即可
function bubbleSort(myarr) {
var lengths = myarr.length;
for (var i = 0; i < lengths; i++) {
for (var j = i+1; j < (lengths); j++) {
if (myarr[j][1] > myarr[i][1]) {
var tmp = myarr[i];
myarr[i] = myarr[j];
myarr[j] = tmp;
}
}
console.log(myarr);
console.log("-------------------");
}
var table2 = document.getElementById("myTable2");
for (var i = 0, row; row = table2.rows[i]; i++) {
for (var j = 0, col; col = row.cells[j]; j++) {
col.innerText = myarr[i][j];
}
}
console.log(myarr);
return myarr;
}
函数bubbleSort(myarr){
变量长度=myarr.length;
对于(变量i=0;imyarr[i][1]){
var tmp=myarr[i];
myarr[i]=myarr[j];
myarr[j]=tmp;
}
}
console.log(myarr);
console.log(“-------------------------------”;
}
var table2=document.getElementById(“myTable2”);
for(变量i=0,行;行=表2.行[i];i++){
for(var j=0,col;col=row.cells[j];j++){
col.innerText=myarr[i][j];
}
}
console.log(myarr);
返回myarr;
}
if(myarr[i]…
->if(myarr[j]…
?