今天,用递归编了个快速排序,调试的时候,却花费了大量的时间,还是大神帮我调了出来,就对整个过程做了一下总结:
1,递归,首先要有打破递归的循环条件,即又要对下一步递归的条件限制。
2、对于循环的时候(for ,while),一些人可能犯一些比较低级的错误,例如:for(),while(),的判定条件里,用了一些a+=d,或a-=d,但是在循环里,又会用到数组a[a+d]或,a[a-d],这样就会导致的数组的越界,所以要格外注意。
3、对于基准点,有时排序的时候,你需要实现设置一个基准点,例如a[base],作为一个基准点,但是在数组变换的时候,base值也可能会变化,这就导致了a[base]也发生了变化,失去了基准的意义,所以一般要设置一个临时变量,来记住这一点,如temp=a[base].