关于快速排序栈溢出的问题,请教一下!!!
我照着算法导论第二版写了一个快速排序,然后测试其排序十万个int数据,用时大概90毫秒,没有出现问题。可是当我用十万个已经排序的int数据(从小到大)进行测试,程序可以运行,但是在中途(大约过了几秒)就会异常退出,是栈溢出的问题。于是我又加了一个三数中值分割法的函数,仍然排序十万个已经排序的int数据(从小到大),这次也大约用时90毫秒,不会出现问题。于是疑惑来了,到底是程序有问题还是???新手刚刚看完《C++ Primer》才开始研究数据结构和算法,有点模糊,还望赐教,不胜感激!!!!!!技术分小于20难道只能发到非技术区???
[解决办法]
你又加了一个函数不能说明问题吧,因为使用的栈大小不一样
建议把数改少一点再试试
[解决办法]
网上那些“主流”的快速排序统统是递归,没有实用价值,数大了就栈溢出。
请参考VC和glibc的实现