t = array[i]-->t = 3 把array[i] 的值保存在 t里面
array[i]=array[j]-->array[i]=4 把array[j]的值给array[i]
array[j]=t -->array[j]=3 把之前保存在t里面的array[i]的值赋给 array[j]
你这个是从大到小吧, j=i的意思是 第一次i=0,外面循环完后选出最大的,然后第二次的话 i = 1,j=1开始从后面选出大的,因为第一次已经选过了,没必要再比较了,如果非要j=0开始也是可以的,不过会增加计算机计算时间
这样说够清楚了吧
最后一行 printf("%d ",a[i])后面应该有个“}”才对这个程序是对的,在a[11]这个数组里只有a[0]~a[9]这10个元素第一个for循环与第二个for循环构成嵌套,第一次循环结束找出a[0]~a[9]里最大的数,第二次结束找出a[1~a[9]]里最大的数,第三次找出a[2]~a[9]里最大的数,……这样依次类推,其实就是一个选择排序!程序中变量 p q 交替记录最大数的下标和最大数的值。这并不是一个难懂的程序,有一定基础的应该都能弄懂的。或者你回去看看有关选择排序的程序实例。这只是大致的内容,别的不需要多讲应该可以看明白的。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)