排序 冒泡排序

#include<iostream>
#include<cstdio>
using namespace std;
void swap(int a[],int i,int j)
{
    int t=a[i];
    a[i]=a[j];
    a[j]=t;
}
void BubbleSort(int a[],int n)
{
    for(int i=n-1;i>=0;i--)
    {
        int flag=0;
        for(int j=0;j<i;j++)
        {
            if(a[j]>a[j+1])
            {
                swap(a,j,j+1);
                flag=1;
            }
        }
        if(!flag) break;
    }
}
int main()
{
    int n,a[105];
    scanf("%d",&n);
    for(int i=0;i<n;i++)
        scanf("%d",&a[i]);
    BubbleSort(a,n);
    for(int i=0;i<n;i++)
        printf("%2d",a[i]);
    printf("\n");
    return 0;
}

你可能感兴趣的:(排序 冒泡排序)