2007winter

做自己真心想做的事,你就没事了

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

冒泡排序是一种典型的交换排序方法,其基本思想是:从第一个记录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;


}

 

 

 

posted on 2012-06-07 10:12  2007winter  阅读(128)  评论(0)    收藏  举报