日期:2013-05-29  浏览次数:20538 次


参加多次笔试,居然有几次都考到了冒泡算法,一次是C#版的填空,一次是javascript版的全部写出。
虽然每次都凭着我对冒泡法的理解给弄出来的,但是多多少少与标准模式有点差别,在网上搜了一下关于C#版的冒泡算法,居然也没有一个象样的,自己对照算法模式认真写了一个C#版的,已经测试成功。

同时附上【冒泡排序动画演示】

public void BubbleSort(int[] R)
{    
    int i,j,temp;
    //交换标志
    bool exchange;
    //最多做R.Length-1趟排序
    for(i=0; i<R.Length; i++)
    {
        //本趟排序开始前,交换标志应为假
        exchange=false;
        for(j=R.Length-2; j>=i; j--)
        {
            //交换条件
            if(R[j+1]<R[j])
            {
                temp=R[j+1];
                R[j+1]=R[j];
                R[j]=temp;
                //发生了交换,故将交换标志置为真
                exchange=true;
            }
        }
        //本趟排序未发生交换,提前终止算法
        if(!exchange)
        {
            break;
        }
    }
}