c语言冒泡排序

版权声明:本文为博主原创文章,未经博主允许不得转载。可联系邮箱[email protected] https://blog.csdn.net/Justin_bibo/article/details/80807014
#include<stdio.h>
int main()
{
    void bubble_sort(int *a,int n);
    int a[10]={10,5,8,6,4,1,2,3,6,0},i;
    bubble_sort(a,10);
    for(i=0;i<10;i++)
        printf("%d ",a[i]);
    return 0;
}
 void bubble_sort(int *a,int n)//a是数组首指针,n是数组大小
{
        int i,j,exchange;
        int tag=0;//交换标志,如果某一趟没有发生任何交换,则序列已经有序,则停止排序。
        for(i=n;i>0;i--)
        {
            tag=0;
            for(j=0;j<i;j++)
        {
            if(a[j]>a[j+1])//逆序则交换
            {
                exchange=a[j];
                a[j]=a[j+1];
                a[j+1]=exchange;
                tag=1;
            }
        }
        if(tag==0)
            return;
        }

        return;
}


猜你喜欢

转载自blog.csdn.net/Justin_bibo/article/details/80807014
今日推荐