偶这段不知道咋搞地,迷JavaScript和ajax迷的厉害,甚致有了只做js的想法,这几天一直在研究js的各种算法,先模仿别人弄个简单地,冒泡排序:
<Script language="JavaScript">
//定义一个数组,且内部元素是非序的
var Tao_arr = new Array(8,3,9,4,1,7,5,2,10,6);
//实现排序目的的函数
function Tao_paixu(){
var n=Tao_arr.length; //得到数组的长度,就是几个元素
for(var i;i=0;i<n-1;i++) //开始外循环
{
var flag=false;//flag定义为非(假)
for(var j;j=n-2;j>=i;j--)//内循环开始
{
var temp;//定义临时变量,来存放小的元素
if(Tao_arr[j+1]<Tao_arr[j])//判断第j+1元素是否小于第j个元素
{
temp=Tao_arr[j+1];//如果是则把第j+1元素赋值给temp
Tao_arr[j+1]=Tao_arr[j];//关键在这里,把j元素赋值给j+1,也就是把j的值赋值给他后面那个元素
Tao_arr[j]=temp;//把j+1的元素赋值给j
}
flag=true;内循环完毕flag=true
}
if(!flag) return;
}
}
本人对这个实现思想是这样理解地:从最后的那个元素开始依次跟前面的元素来比较大小,如果小则两者交替位值,然后依次再向比较,直至把最小的那个交换到第一个元素的位置,实现了从小到大的排序原理,呵呵,不知道理解的对不,望各位指证批评!