您的位置:首页 > 编程语言 > C语言/C++

算法 c语言 冒泡排序改进

2017-07-31 16:00 337 查看
#include<stdio.h>

#define N 8

void show(int a[]);

void bubble(int a[]);

int main()

{

    int a
= {50,36,66,76,95,12,25,36};

    printf("原无序记录:\n");

    show(a);

    printf("排序过程如下:\n");

    bubble(a);

    return 0;

}

void bubble(int a[])

{

    int i,j,tmp,flag;

    for(i = 0;i < N-1;i++)

    {

        flag = 1;

        for(j = 0;j <N -1;j++)

        {

            if(a[j]>a[j+1])

            {

                tmp = a[j];

                a[j] = a[j+1];

                a[j+1] = tmp;

                flag = 0;

            }

        }

        if(flag)  //对冒泡算法改进

            break;

        show(a);

    }

}

void show(int a[])

{

    int i;

    for(i = 0;i < N;i++)

        printf("%d\t",a[i]);

    printf("\n");

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息