冒泡排序掌握其双重循环,可发现其规律
数组长度为n,则需排序n-1次。 每次从开头到结尾开始排序(n-1)。
为了减少运行时间,将第二次循环变为(n-1-j)。因为在第一次循环时,已经将最大(最小)数移动到最后面,因此可以减少循环次数,减少时间复杂度。
空间复杂度与变量的数量有关系
#include <stdio.h>
int main()
{
//int arr[10] = {3,7,1,0,9,4,5,8,2,6};
int arr[10] = {8,9,0,1,2,3,4,5,6,7};
int i;
int temp;
int j;
for(j=0;j<10-1;j++) //排n-1次
{
for(i=0;i<10-1-j;i++) //循环n-1-j次
{
if(arr[i] > arr[i+1])
{
temp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = temp;
}
}
}
return 0;
}