冒泡排全部

10 分钟

把"走一趟"再套上"走 n-1 趟",就是完整的冒泡排序。外层循环像日历,管一共走几趟;内层循环像走一趟里的每一次相邻比较。两层一配合,整排数字就从小到大排整齐了。

#include <iostream>
using namespace std;
int main(){
    int a[4] = {3, 1, 4, 2}, n = 4;
    for(int j = 0; j < n-1; j++)
        for(int i = 0; i < n-1; i++)
            if(a[i] > a[i+1]){
                int t = a[i]; a[i] = a[i+1]; a[i+1] = t;
            }
    for(int i = 0; i < n; i++) cout << a[i] << " "; // 1 2 3 4
    return 0;
}

注意:这里有两层 for 循环,缺一层都排不完整。内层的 i 和外层的 j 名字要分开,别都用 i,否则里外打架会乱套。

小纸条

这段代码里有几层 for 循环?

登录 后可看答案

冒泡排全部 · C++ 入门 · op599 课程