关闭

c_冒泡排序

492人阅读 评论(0) 收藏 举报
#include <stdio.h>
#include <stdlib.h>

#define ARRAYSIZE 5
#define BETTER
int main()
{
    int i,j,t;
    int a[ARRAYSIZE];
#ifdef BETTER
    int flag;
#endif

    printf("Input %d integers:\n", ARRAYSIZE);
    for(i=0;i<ARRAYSIZE;i++)
        scanf("%d",&a[i]);
        
    for(i=0; i<ARRAYSIZE-1; i++)
    {
#ifdef BETTER
        flag = 0;
#endif
        for(j=0; j<ARRAYSIZE-1-i; j++) 
            if(a[j] > a[j+1]) 
            {
                t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
#ifdef BETTER
                flag++;
#endif
            }
#ifdef BETTER
        if(0 == flag)
            break;
#endif
    }

    printf("after sort:\n"); 
    for(i=0;i<ARRAYSIZE;i++) 
        printf("%4d",a[i]); 
    printf("\n"); 
    return 0;  
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:31389次
    • 积分:784
    • 等级:
    • 排名:千里之外
    • 原创:49篇
    • 转载:0篇
    • 译文:0篇
    • 评论:4条
    文章分类
    最新评论