冒泡排序要用双层循环,假如有n个数,第一轮循环时,第二层循环执行n-1次;第二轮循环时,第二层循环执行n-2次;直到最后一轮,第二层循环执行1次。
因此冒泡排序的总共计算次数是(1+n-1)(n-1)/2=n(n-1)/2
这里简单写了一下实现:
int[] arr = {…………};//待排序数组,长度为n
int temp = 0 ;//用于交换的临时变量
for(int i=0;i<n-1;i++)
{
for(int j=0;j<i-1;j++)
{
if(arr[j+1]<arr[j])
{
temp = arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
}
}
}