关于递归的几点注意

今天,用递归编了个快速排序,调试的时候,却花费了大量的时间,还是大神帮我调了出来,就对整个过程做了一下总结:

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].

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值