基本排序算法
a表示要排序的数组,swap(a,i,j)表示最简单的数组内第i元素以及第j元素的交换。
冒泡排序
通过从数组最开始的两个数比较,每一次往后面比较并交换,记下下标并在排完之后交换,则一次循环之后最小的数字找到,整体减一,重复N次。
if(a == NULL || a.length < 2)//如果为空或者小于两个数则返回
return;
for(int end = a.length - 1;end > 0;end--)//外循环从最大开始
{
for(int i = 0;i < end; i++)//内循环从最小直到end
{
if(a[i]>a[i+1])
swap(a,i,i+1);//如果a[i]>a[i+1]的话交换他们的值直到最大的数被换到最后一位
}
}
可以知道冒泡排序的时间复杂度O( n 2 n^{2} n