排序一: 冒泡 俩俩调换 for (int i = 1; i <= n - 1; i++) //n个数需要循环n-1趟 , 每一趟都会找出最小的那个数 { for (int j = 1; j <= n - i; j++) // 每一趟都要n-i次,即俩俩调换的次数 { if (al[j] > al[j - 1]) // 应为是从1开始的 所以要减1 把索引为0的比进去 { int t = a[j]; a[j] = a[j - 1]; a[j - 1] = t; } } } 排序二: 快速比较 拿第一个跟后面的比较 for (int i = 0; i < n; i++) { for (int j = i; j < n - 1; j++) { if (a[i] < a[j + 1]) { int t = a[i]; a[i] = a[j + 1]; a[j + 1] = t; } } }