一、冒泡排序基本思想
依次将数组中相邻两个元素比较,并按要求的排序对两个元素进行交换,从而将最大/最小的数推至最前或者最后,对余下的数重复上述步骤,最终获得需要的排序顺序。
二、示例分析
三、代码实现
#include <iostream>
#include <assert.h>
using namespace std;
void BubbleSort(int* arr,int size)
{
assert(arr);
for (int i = size - 1; i > 0; i--) {
for (int j = 1; j <= i; j++) {
if (arr[j-1] > arr[j]) {
swap(arr[j-1], arr[j]);
}
}
}
}
int main()
{
int arr[] = {8, 6, 1, 4, 0, 2, 7, 5, 9, 3};
BubbleSort(arr, sizeof(arr)/sizeof(arr[0]));
for (int i = 0; i < sizeof(arr)/sizeof(arr[0]); i++) {
cout<<arr[i]<<" ";
}
cout<<endl;
return 0;
}