//冒泡排序 O(n^2)
/*
原理思考:第一次冒泡是将最大值移到了最后一个
第二次是将次大值移到了倒数第二个,以此类推......
所以只需(数组长度-1)次就能完成排序
*/
#include <iostream>
#include <cstdio>
using namespace std;
int a[10]={213,21,45,231,67,31,2389,54,32,77};
void fun()
{
for(int i=0;i<10-1;i++)//对长度为10的数组只需要10-1次
{
for(int j=0;j<10-i-1;j++)//优化:因为最后面i个已经排好序了,所以是10-i-1
if(a[j]>a[j+1])
swap(a[j],a[j+1]);
}
}
int main()
{
fun();
return 0;
}