这个地方还是有点不太懂
for(i=8; i>=0; i--)
{
for(j=0;j<=i;j++)
{
if(arr[j]>arr[j+1])
求大神来个详细解答过程 非常感谢
for(i=8; i>=0; i--)
{
for(j=0;j<=i;j++)
{
if(arr[j]>arr[j+1])
求大神来个详细解答过程 非常感谢
2019-05-03
第一个for ,是指从头到尾比较完一趟的整个过程,第二个for ,就是讲 这一趟比较的具体步骤,就是两两相邻的数比较,i=8时,第一趟比较开始, j=0,就是说第一趟比较中的第一次,是比较第个2个数和第一个数,之间的大小,以此类推,直到比较完第9个数和第十个数,这时候第一趟大循环完成,也就比较出了最大的个数,这时候arr[9]的值就是最大的。再就开始第二趟比较,第二趟比较,就不需要带上arr[9]了,只有前9个数比较,所以i--,i=7, 第二趟的第二个for还是从头开始两两比较,最终可以得到arr[8],这个值是这次比较中的最大值。总共两趟循环下来了,得到了最大值,和第二大的值。后面的循环以此类推。。
举报