算法描述
冒泡排序,学习算法的时候最先接触的,也是最简单的排序算法。过于简单,两两比较一轮次比较下来会把较小的数字慢慢浮到上面来。
程序
#include "stdafx.h"
#define N 10
int _tmain(int argc, _TCHAR* argv[])
{
int arra[N] = {54,89,64,321,45,1,648,4615,21321,645};
//大循环
for (int i = 0; i < N -1; i++)
{
///小循环
for (int j = 0; j < N - i - 1; j ++)
{
if(arra[j] > arra[j + 1])
{
int temp = arra[j];
arra[j] = arra[j+1];
arra[j + 1] = temp;
}
}
}
for (int i = 0; i < N; i++)
{
printf("%d\n",arra[i]);
}
getchar();
return 0;
}
程序描述
结果
程序分析
什么是循环?循环就是重复做着一件相同的事情。这里做着相同的事情就是比较。外层循环控制比较的轮次,内层循环控制两两比较次数。
时间复杂度
平方阶O(n^2)