冒泡排序
1、实现逻辑
所谓“冒泡排序”,可以从名称上理解:
以从小到大来举例,“冒泡”实际上就是指把值更大的元素放到数列的后面(如果是从大到小排列,则反之),通过交换来实现。我们先来大致地看下面的动图,感受一下冒泡排序的运行过程:
2、C++代码实现
//冒泡排序
#include<iostream>
using namespace std;
void BubbleSort(int* arr, int n)
{
int i , j , temp =0;
for (i=0; i < n - 1; i++)
{
for (j=0; j < n - 1 - i; j++)
{
if (arr[j] > arr[j + 1])
{
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main()
{
int array[] = { 1, 34, 654, -1, 3242, 0, 2, 1, -1, 20 };
int num = sizeof(array) / sizeof(array[0]);
BubbleSort(array, num);
//范围for循环打印数组
for (auto e: array)
{
cout << e << " ";
}
cout << endl;
return 0;
}