“`”  

【参考答案】

<pre><code>void BubbleSort(double a rr[], int n)
{
int i,j ;
int e xchange = 1 ;// 交换标志
for(i=1;i<n;i++)
{ // 最多做n-1趟排序
exchange=0 ;// 本趟排序开始前,交换标志应为假
for(j=n-1;j>=i ;j–) //对当前无序区R[i..n]自下向上扫描
if(arr[j+1] > arr [ j])
{// 交换记录
arr[0]=arr[j+1];//R[0]不是哨兵,仅做暂存单元
arr[j+1]=arr[j];
arr[j]=arr[0];
exchange=1 ;// 发生了交换,故将交换标志置为真
}
if(!exchange) // 本趟排序未发生交换,提前终止算法
return ;
} //endfor(外循环)
}
</code></pre>

<pre><code> "“`

Was this helpful?

0 / 0

发表回复 0

Your email address will not be published.