冒泡排序

 1 /* 冒泡排序最大值沉底 */
 2 
 3 #include<stdio.h>
 4 #include<stdio.h>
 5 
 6 
 7 
 8 void main()
 9 {
10     int a[10] = {3,5,18,9,23,5,2,1,0,2};
11     for (int i=0;i<10-1;i++)// 只要循环九次  (N-1次)
12     {
13         if (a[i] > a[i+1])// 对比
14         {
15             int temp = a[i];// 交换
16             a[i] = a[i+1];
17             a[i+1] = temp;
18         }
19     
20         // 显示过程
21         for (int i=0;i<10;i++)
22         {
23             printf("%d  ",a[i]);
24         }
25         printf("\n");
26     }
27 
28     //printf("%d",a[9]);// 最大值
29 
30     system("pause");
31 }
32 
33 //-----------------------------------------------------------------------------------------------------------
34 
35 /* 冒泡排序 */
36 
37 #define N 10
38 void main()
39 {
40     int a[N] = {3,5,18,9,23,5,2,1,0,2};
41     for (int i=0;i<N-1;i++)// 只要循环N-1次 每循环一次就有一个最大值沉底 只有一个数的时候不需要沉底所以是N-1
42     {
43         for (int j=0;j<N-1-i;j++)// j=0 是因为当i=0时,循环九次  ,沉底的次数决定冒泡冒到哪里
44         {
45             if (a[j]>a[j+1])// 沉底
46             {
47                 int temp=a[j];
48                 a[j]=a[j+1];
49                 a[j+1]=temp;
50             }
51         }
52 
53         // 打印冒泡状态
54 
55         for (int i=0;i<10;i++)
56         {
57             printf("%d  ",a[i]);
58         }
59     }
60 
61     for (int i=0;i<10;i++)
62     {
63         printf("%d  ",a[i]);
64     }
65 
66 
67     system("pause")
68 }

 

posted on 2015-06-20 10:48  Dragon-wuxl  阅读(190)  评论(0)    收藏  举报

导航