呵呵,这段迷Js迷的厉害,模仿别人写个冒泡先,呵呵。

偶这段不知道咋搞地,迷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;

    }

}

本人对这个实现思想是这样理解地:从最后的那个元素开始依次跟前面的元素来比较大小,如果小则两者交替位值,然后依次再向比较,直至把最小的那个交换到第一个元素的位置,实现了从小到大的排序原理,呵呵,不知道理解的对不,望各位指证批评!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值