冒泡走一趟
约 10 分钟
从队头到队尾,把每一对相邻同学都比一遍、该换就换,走完这一整趟,最高的那个一定被一路推到了队尾——就像水里的大气泡咕嘟咕嘟浮到水面。这一趟叫"冒泡走一趟"。
#include <iostream>
using namespace std;
int main(){
int a[3] = {3, 1, 2}, n = 3;
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;
}
cout << a[2] << endl; // 3,最大值冒到末尾
return 0;
}
注意:一趟只能保证最大的到位,前面的数还没排好。循环条件是 i < n-1,因为每次都要看 a[i+1],写成 i < n 就会越界。
小纸条
[3,1,2] 走一趟冒泡后,最后一个数是几?
登录 后可看答案