冒泡排全部
约 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 循环?
登录 后可看答案