思路
-
从左向右扫描数据,选择最大的数据,放在右边
- 要点:比较相邻的两个数,如果左边的数大于右边的数就交换
- 交换swap相关博文: https://blog.csdn.net/weixin_42107311/article/details/105246568
- 选择排序相关博文:https://blog.csdn.net/weixin_42107311/article/details/105249526
- 插入排序相关博文:https://blog.csdn.net/weixin_42107311/article/details/105278546
代码
#include <iostream>
using namespace std;
void BubbleSort(int list[], int n);
int main(){
int a[] = {3,2,6,7,32,123,1,54,241,34};
int len = sizeof(a)/ sizeof(a[0]);
BubbleSort(a, len);
for (int k = 0; k < len; k++) {
cout << a[k] << ",";
}
return 0;
}
void BubbleSort(int list[], int n){
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n-i-1; j++) {
if (list[j]>list[j+1])
swap(list[j], list[j+1]);
}
}
}
// 输出
// 1,2,3,6,7,32,34,54,123,241,
总结
效率太低,不适用于大量数据或者复杂的数据排序中