冒泡排序算法为最简单的排序算法,易于实现,也容易理解,下面为实现代码:
#include <iostream>
using namespace std;
void sort(int *arr,int length) //传入数组首地址和数组长度
{
int temp;
for (int i = 1; i < length; i++) //compare times
{
for (int j = length - 1; j >= i; j--) //从最后一个元素开始到第i个结束
{
if (arr[j] < arr[j - 1]) //与前一个元素比较,小的元素往前跑
{
temp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = temp;
}
}
}
}
int main()
{
int arra[] = {12,12,54,1745,45,45,469,789,789};
int length = sizeof(arra) / sizeof(arra[0]); //计算数组长度
sort(arra,length);
for (size_t i = 0; i < length; i++)
cout << arra[i] << " ";
system("pause");
return 0;
}
时间复杂度O(n^2)。