c_冒泡排序

原创 2013年12月02日 23:13:15
#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;  
}

相关文章推荐

c冒泡排序(升序)

  • 2014年02月26日 15:52
  • 13KB
  • 下载

冒泡排序.c

  • 2014年04月23日 22:28
  • 353B
  • 下载

【C/C++】冒泡排序与二分查找

冒泡排序:就是相邻两个数进行比较,如果a>b(或者a 二分查找:每次取头和尾的中间下标的值a与目标值b进行比较,如果a>b表示目标值b在中间下标前面,把头指向中间下标的前一位;如果a ...

C例子:冒泡排序

  • 2015年08月01日 08:32
  • 2KB
  • 下载

C 冒泡排序

  • 2012年03月27日 23:02
  • 581B
  • 下载

单链表实现冒泡排序算法(C实现)

本实现主要采用交换指针的方法,其中附加有单链表及其相关的实现 #include struct Node; typedef struct Node *PtrToNode; typedef Ptr...

C Sharp冒泡排序

  • 2017年08月24日 19:19
  • 47KB
  • 下载

CF 362C 冒泡排序 交换哪两个数逆序数减少最多

交换两个数,求使得排列的逆序数最多减少多少,以及有多少个这样的数对 数据范围有5000,我的算法是n^2logn 因为有n^2个询问,所以最好O(1)的回答,所以需要先预处理一下。 怎样快速回答交换两...

C 冒泡排序

  • 2013年12月26日 18:59
  • 410B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c_冒泡排序
举报原因:
原因补充:

(最多只允许输入30个字)