关于使用冒泡排序法容易陷入的误区( i 从 0 开始, 还是从 1 开始)
今天同学做题需要先排一下序,于是用了冒泡排序法,但他习惯 i 从 1 开始,现贴一下他的代码:
for(i=1;i<n;i++) for(k=1;k<n-i-1;k++) { if(end[k]>end[k+1]) }
然而这样是不对的, 因为此时 k 的最大值为n-3, 而应该为n-2;修改后的代码为:
for(i=1;i<n;i++) for(k=1;k<n-i;k++) { if(end[k]>end[k+1]) {
所以平时应该注意这些细节,多独立思考哈。。。。
每天训练发现我比别人做的好慢,但是理解的更深刻,如果一开始学一个新知识点就搜模板,那么这样的人是走不远的,毕业之后带走的只有思维,什么荣誉,奖杯都已经不重要了。