直接上代码,解释在代码中
#include <iostream> using namespace std; void Bubble_sort(int *a, int len); int main() { int arr[] = {1, 8, 9, 7, 5, 4, 3, 6, 0, 2}; Bubble_sort(arr, 10); for(int i=0; i<10; i++) { cout << arr[i] << ' '; } cout << endl; return 0; } //从小到大冒泡排序,可以选择将大的数往右移 void Bubble_sort(int *a, int len) { for(int i=0; i<len-1; i++) //负责遍历 { //j<len-i-1;是因为每遍历一次就找到一个要找的大的数 //下一次遍历就不需要比较已经找到的大的数 for(int j=0; j<len-i-1; j++) //负责每一次遍历时找到数组中剩余的最大数, //并将这个最大数移动到上一次找到的最大数的后面 { if(a[j] >= a[j+1]) swap(a[j], a[j+1]); } } }