冒泡排序是一种典型的交换排序方法,其基本思想是:从第一个记录R1开始,对每两个相邻的关键字ki和ki+1进行比较,若ki>ki+1,则交换Ri和Ri+1的位置 ,使关键字较小的记录换到关键字较大的记录之前。经过一趟冒泡排序后,关键字最小的记录到达最前端,接着,在剩下的记录中找关键字次小的记录,并把它换在第二个位置上。以此类推,一直到所有记录都有序为止。
冒泡排序的平均时间复杂度为O(n2),它是稳定的。
代码:
#include <iostream> using namespace std; #define T double //升序 void bubble_sort(T R[],int n) { int i,j; T temp; for (i=0;i<n-1;i++) { for (j=n-1;j>i;j--) { if (R[j]<R[j-1])//将较小的数往前移动 { temp=R[j]; R[j]=R[j-1]; R[j-1]=temp; } } } return; } int main() { double a[10]; int i; cout<<"输入原始序列:"<<endl; for (i=0;i<10;i++) { cin>>a[i]; } cout<<endl; bubble_sort(a,10); cout<<"排序后:"<<endl; for (i=0;i<10;i++) { cout<<a[i]<<" "; } cout<<endl; return 0; }
 
                     
                    
                 
                    
                 

 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号