冒泡排序算法

时间: 1ms        内存:128M

描述:

设计一个程序,实现冒泡排序算法,并输出{9,8,7,6,5,4,3,2,1,0}的排序过程。

输入:

输出:

每个排序过程输出一行,直到排序完成。

示例输入:

示例输出:

9 8 7 6 5 4 3 2 1 0
...
...

提示:

参考答案(内存最优[0]):

#include <iostream>
using namespace std;
void display(int a[],int n)
{
    for(int i=0;i<n;i++)
    {
        cout<<a[i];
        if(i!=n-1)cout<<' ';
    }
    cout<<endl;
}
void MaoPaoSort(int a[],int n)
{
    int i,j;
    for(i=0;i<n-1;i++)
    {
        for(j=0;j<n-1-i;j++)
        {
            if(a[j+1]<a[j])
                swap(a[j+1],a[j]);
            display(a,n);
        }
    }
}
int main()
{
    int a[11]={9,8,7,6,5,4,3,2,1,0};
    int n=10;
    display(a,n);
    MaoPaoSort(a,n);
    return 0;
}

参考答案(时间最优[0]):

#include<stdio.h>
int main()
{
    int a[10]= {9,8,7,6,5,4,3,2,1,0};
    int i,j,k,s;
    for(k=0; k<9; k++)
        printf("%d ",a[k]);
    printf("%d\n",a[9]);
    for(i=0;i<9; i++)
    {
        for(j=9; j>i; j--)
            if(a[j]<a[j-1])
            {
                k=a[j];
                a[j]=a[j-1];
                a[j-1]=k;
            }
        for(s=0; s<9; s++)
            printf("%d ",a[s]);
        printf("%d\n",a[9]);
    }
return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。