栈溢出会怎么样栈顶将环绕是什么意思

栈溢出会怎么样栈顶将环绕是什么意思,第1张

栈溢出修改了栈空间之外的内存,假如这段内存是代码,那么程序就会发生错误。

“栈顶将环绕”的“环绕”应该指的是wrap这个单词,意思是“回到原点”,也就是sp回到了栈为空时的状态,这样程序会认为栈是空的,实际上栈已经满了,继续push就会覆盖掉之前的数据。

private static void qsort(int[]a,int low,int high)

{

int pos=Qpass(a, low, high);

qsort(a,low,pos-1);

qsort(a,pos+1,high);

}

没有结束条件,肯定会一致无限地递归下去,直到栈溢出了。。

快速排序的终止条件是:low>=high

即改为

private static void qsort(int[]a,int low,int high)

{

if( low < high)

{

int pos=Qpass(a, low, high);

qsort(a,low,pos-1);

qsort(a,pos+1,high);

}

}

以上就是关于栈溢出会怎么样栈顶将环绕是什么意思全部的内容,包括:栈溢出会怎么样栈顶将环绕是什么意思、java程序错误,错误提示是栈溢出.、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10624973.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存