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; } } }