冒泡排序的基本思想就是:
从无序序列头部开始,进行两两比较,根据大小交换位置,直到最后将最大(小)的数据元素交换到了无序队列的队尾,从而成为有序序列的一部分;下一次继续这个过程,直到所有数据元素都排好序。
#include <iostream>
using namespace std;
int main()
{ // 冒泡排序
int arr[] = {1, 5, 8, 38, 35, 4, 98, 30, 6, 2 };
int size_arr = sizeof(arr) / sizeof(int); //数组大小
int temp; //临时变量
for(int i = size_arr - 1; i > 0; i--){
//每次完成一次遍历后,遍历的数量减一,即第一次遍历需要N次,(此时最大的数在最后)第二次需要N-1次....
for(int j = 0; j < i ; j++){
if(arr[j] > arr[j+1]){ //交换
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
cout << "排序后的数组:" << endl;
for(int i = 0; i < size_arr; i++){
cout << arr[i] << '\t';
}
return 0;
}