3、算法分析:最坏情况,比较(n2-n)/2次,移动(n2-n)*3/2。算法时间复杂度O(n2)。 【示例】: 49 13 13 13 13 13 13 13 38 49 27 27 27 27 27 27 65 38 49 38 38 38 38 38 97 65 38 49 49 49 49 49 76 97 65 49 49 49 49 49 13 76 97 65 65 65 65 65 27 27 76 97 76 76 76 76 49 49 49 76 97 97 97 97
Procedure BubbleSort(Var R : FileType) //从下往上扫描的起泡排序// Begin For I := 1 To N-1 Do //做N-1趟排序// begin NoSwap := True; //置未排序的标志// For J := N - 1 DownTo 1 Do //从底部往上扫描// begin If R[J+1]< R[J] Then //交换元素// begin Temp := R[J+1]; R[J+1 := R[J]; R[J] := Temp; NoSwap := False end; end; If NoSwap Then Return//本趟排序中未发生交换,则终止算法// end End; //BubbleSort//
版主,你那个错了, #include <iostream.h> int main() { int a,b,c;int temp; cout<<"Please input the three numbers:"<<endl; cin>>a>>b>>c;
if(a<b) //的传给a { temp = a; a = b; b = temp; } if(a<c) { temp = a; a= c; c = temp; }
if(b<c) { temp=b; b=c; c=temp; } cout<<a<<'\t'<<b<<'\t'<<c<<endl;
} 还有待何改
[此贴子已经被作者于2005-3-29 22:12:21编辑过]