灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2719回复:0

C语言冒泡排序的改良

楼主#
更多 发布于:2012-09-06 12:31

1 #include <stdio.h>
2 #include <stdlib.h>
3 #define LEN 10
4
5 int main()
6 {
7     //min记录最小值的位置。
8     int i,j,tmp,min,array[LEN];
9
10     //输入数据
11     printf("please input members:");
12     for(i=0; i<LEN; i++)
13     scanf("%d",;array);
14
15     //输出原数据
16     for(i=0; i<LEN; i++)
17     printf("%d ",array);
18     printf("n");
19
20     //单向冒泡排序。
21     /*for(i=0;i<LEN-1;i++)
22     for(j=i+1;j<LEN;j++)
23     {
24         if(array>array[j])
25         {
26             tmp = array[j];
27             array[j]=array;
28             array=tmp;
29         }
30     }*/
31
32     //经典100例,如果数据多的话,用这个是比较合算的。
33     for(i=0; i<LEN-1; i++)
34     {
35         min = i;
36         for(j=i+1; j<LEN; j++)
37         {
38             if(array[min]>array[j])
39             {
40                 min=j;
41             }
42         }
43
44         if(i==min)
45         continue;
46
47         tmp = array[min];
48         array[min]=array;
49         array=tmp;
50
51     }
52
53     //输出结果。
54     printf("nresult is:n");
55     for(i=0; i<LEN; i++)
56     printf("%d ",array);
57     printf("n");
58
59     // printf("Hello world!n");
60     return 0;
61 }







喜欢0 评分0
游客

返回顶部