冒泡排序


 1 #include<stdio.h>
 2 int main() {
 3     int n, i = 0,  a[100], j, temp;
 4     scanf("%d", &n);
 5     int biao = n; 
 6     while (biao--) {
 7         scanf("%d", &a[i++]);
 8     }
 9     for (i = n - 1; i >= 0; i--) {
10         for (j = n - 1; j > 0; j--) {
11             if (a[j] < a[j - 1]) {
12                 temp = a[j];
13                 a[j] = a[j - 1];
14                 a[j - 1] = temp;
15             }    
16         } 
17     }
18     while (n--) {
19         printf("%d ", a[i++]);
20     }
21 } 

 


 

从最下面的元素开始依次向上比较,然后不符合则交换顺序一直到最顶部

第二重循环是比较一次,因为我们需要重复的比较,重复的向上冒,则需要加上第二层循环

posted on 2015-12-21 12:28  _阿赞  阅读(208)  评论(0编辑  收藏  举报