{
int arr[9]={3,8,5,4,9,6,7,2,1};
//思考9个数需要几轮排序,一轮排序需要几次对比
for(int i=0;i<9-1;i++)//排序轮数 i 下标0-7 //1
{
for(int j=0;j<9-i-1;j++)//内层循环对比 对比次数 //2*
{
//如果前一个比胡一个大,交换两个数字
if(arr[j]>arr[j+1])
{int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;}
}
}
cout<<"排序后:"<<endl;
for(int i=0 ;i<9;i++)
{cout<<arr[i]<<" ";}//i为轮数下标
cout<<endl;
}
j为每一轮排序需要的对比次数,那第一轮应该是8次,第二轮7次,第三轮6次,但是” 2 *"的意思不是 ,第一轮1次,第二轮2次吗?
为什么编译出来第一轮是8次?