參加多次筆試,居然有幾次都考到了冒泡算法,一次是C#版的填空,一次是Javascript版的全部寫出。
雖然每次都憑著我對冒泡法的理解給弄出來的,但是多多少少與標准模式有點差別,在網上搜了一下關於C#版的冒泡算法,居然也沒有一個象樣的,自己對照算法模式認真寫了一個C#版的,已經測試成功。
同時附上【冒泡排序動畫演示】
public void BubbleSort(int[] R)
{
int i,j,temp;
//交換標志
bool Exchange;
//最多做R.Length-1趟排序
for(i=0; i
{
//本趟排序開始前,交換標志應為假
Exchange=false;
for(j=R.Length-2; j>=i; j--)
{
//交換條件
if(R[j+1] {
temp=R[j+1];
R[j+1]=R[j];
R[j]=temp;
//發生了交換,故將交換標志置為真
Exchange=true;
}
}
//本趟排序未發生交換,提前終止算法
if(!Exchange)
{
break;
}
}