JUST DO IT

我之所以在这里,只是因为我想要在这里

冒泡排序(Windows+VC6.0环境编译)

冒泡排序:两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止。
复杂度:O(n的平方)

 1#include <stdio.h>
 2#include <cstdlib>
 3
 4#define TOTAL_NUM 1000
 5#define MAX_NUM 50
 6
 7int main(int argc,char* argv[])
 8{
 9    int Sort[TOTAL_NUM];
10    
11    int iPrintCount = 0;
12    int i = 0;
13    printf("::: old order ::: \n");    
14    for (i=0;i<TOTAL_NUM;i++)
15    {
16        Sort[i] = (rand()+MAX_NUM)%MAX_NUM;
17        printf("%5ld ",Sort[i]);    
18        if(++iPrintCount==10)
19        {
20            iPrintCount = 0;
21            printf("\n");
22        }

23    }

24    
25    for (i=0;i<TOTAL_NUM;i++)
26    {
27        for (int j=i;j<TOTAL_NUM;j++)
28        {
29            if (Sort[i]>Sort[j])
30            {
31                int iSwap = Sort[i];
32                Sort[i] = Sort[j];
33                Sort[j] = iSwap;
34            }

35        }

36                        
37    }

38    
39    iPrintCount = 0;
40    printf("\n::: new order ::: \n");    
41    for (i=0;i<TOTAL_NUM;i++)
42    {        
43        printf("%5ld ",Sort[i]);    
44        if(++iPrintCount==10)
45        {
46            iPrintCount = 0;
47            printf("\n");
48        }

49    }

50    
51    getchar();
52    return 0;
53}

posted on 2009-07-20 23:50 xmoss 阅读(591) 评论(0)  编辑 收藏 引用 所属分类: 结构和算法


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理