要走几趟
约 8 分钟
一趟冒泡只能送一个"最大值"到它的位置,就像每天只能评出一个"当日之星"站到荣誉墙最后一格。要把所有人都排好,5 个人就得评 4 天——因为最后剩一个人时,他自然就在对的位置上,不用再比了。
#include <iostream>
using namespace std;
int main(){
int n = 5;
cout << "要走 " << n - 1 << " 趟" << endl; // 要走 4 趟
return 0;
}
规律:n 个数要走 n-1 趟,每走完一趟就有一个数稳稳落到最终位置。注意别以为要走 n 趟——最后一个数会被前面所有趟"顺带"排好,所以少走一趟正好。
小纸条
有 5 个数要用冒泡排序,一共要走几趟?
登录 后可看答案