616516334
2016-07-20 11:19
for(i=8; i>=0; i--)//控制每趟比较的最大下标
{
for(j=0;j<=i;j++)//控制每次相邻元素的下标
{
if(arr[j]>arr[j+1]) //当前面的数比后面的数大时
这两个for 看不懂在做什么 在运行什么都不知道。。。比较两个数大小、排序 直接用if后面的不就行了吗?
i是循环次数控制,j是循环数组里面的对象,要实现整个数组的冒泡排序光对比两个单独的数组的数是不够的,要一次次循环换位排序,i,j的作用就是控制循环。
一重for循环只能完成一次冒泡,一次冒泡只是将最大的数换到了最后,其他位置的数还是无序的
C语言入门
926020 学习 · 20793 问题
相似问题