冒泡排序
指导思想
以从小到大为例:每循环一次就找到一个最大值并将其放在末尾;
代码实现
var shuzu=new Array();
shuzu=[9,333,4,11,33,1,43,5555,6];
function paixu(a){
for(var i=0;i<shuzu.length;i++){
//控制排序的次数;
for(var j=1;j<shuzu.length-i;j++){
//内循环表示每次循环需要比较的次数
if(shuzu[j-1]>shuzu[j]){
var num=shuzu[j-1];
shuzu[j-1]=shuzu[j];
shuzu[j]=num;
}
//找到大值后与后面的值交换位置交换位置;
}
}
console.log(shuzu);
}
paixu(shuzu);
选择排序
指导思想
每次循环都在剩余数中找到一个较小值,并将其存入一个变量中,让其继续与后面的值比较,最终找到一个最小值,再将其与本次循环中的第一个值进行交换。
代码实现
var shuzu=new Array();
shuzu=[99,333,4,11,33];
function paixu(a){
for(var i=0;i<shuzu.length;i++){
var num =i;
//保存本次循环中第一个数的下标
for(var j=i;j<shuzu.length;j++){
if(shuzu[num]>shuzu[j]){
var num=j;
}
//保存较小值的下标
}
var ti=shuzu[i];
shuzu[i]=shuzu[num];
shuzu[num]=ti;
//将最小值与本次循环的第一个值交换位置
}
con(shuzu);
}
paixu(shuzu);