算法实例(二):冒泡排序

 1 //输入n个数,并将这n个数按照从大到小的顺序排列
 2 #include <stdio.h>
 3 
 4 int main(void){
 5     int a[100], i, j, t, n;
 6     printf("请输入共有多少个数?
");
 7     scanf("%d", &n);
 8     for (i = 1; i <= n; i++)
 9         scanf("%d", &a[i]);
10     for (i = 1; i < n ; i++)
11         for (j = 1; j <= n - i; j++){
12             if (a[j] < a[j + 1]){
13                 t = a[j];
14                 a[j] = a[j + 1];
15                 a[j+1] = t;
16             }
17         }
18     for (i = 1; i <= n; i++)
19         printf("%d ", a[i]);
20     getchar();
21     return 0;
22 }

 冒泡排序的复杂度为O(N^2)。

原文地址:https://www.cnblogs.com/zhangshuwen/p/7325221.html