冒泡排序
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 }
从最下面的元素开始依次向上比较,然后不符合则交换顺序一直到最顶部
第二重循环是比较一次,因为我们需要重复的比较,重复的向上冒,则需要加上第二层循环