对于冒泡,我相信大家都不陌生,但怎么去理解呢,死记硬背可不好(ღ˘⌣˘ღ),最关键的就是那个交换数值的一步。( •͈ᴗ⁃͈)ᓂ- - -♡
就假设冒五个数的泡
int temp;
for(int i=1;i<5;i++)
{
for(int j=0;j<5-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
/for(int i=1;i<5;i++)
数一下,有1、2、3、4,就是循环四次,第一行意思就是对一共要四个数进行循环,循环内容是啥呢T_T,是花括号里的。
/for(int j=0;j<5-i;j++)
当 i=1
数一下,有0、1、2、3就是循环四次,意思就是对这个数进行四次循环(循环内容又是下面括号里的)
/if(a[j]>a[j+1])
如果他大,他和她交换
然后一个数一个数的换
就比如,有10个数,把第一个数和后面一个数对比,大就换,现在第二位数比第一位小了
再换,九次换后最后一位是最小,不看最后一位了,还有9个数,再把现在的第一位数换8次…
第一行代码for(int i=1;i<10;i++)就是有几个数要换
第二行 for(int j=0;j<10-i;j++)就是“这个数”换几次
这就是嵌套在一起的,后面括号里的都是上面一行代码要进行的操作(๑•́ωก๑)
当然,这是我,一个萌新的理解,不知对不对,反正这样写下来能跑。<-biubiu-⊂(`ω´∩)
老师说过,能跑就行,不管是代码能跑,还是我能跑,就算代码不能跑,反正我跑了,你难道还能打我(ಡωಡ)hiahiahia