求救 有关堆栈的问题
我们最近上c++,老师一直说堆栈,但是一直都不懂,还有什么弹出,存进的,他到底和链表有什么区别呢,请高人指教,请不要粘贴一堆概念,我看不懂,最好结合具体例子,讲明一下这些。
[解决办法]
一堆柴禾,你加新柴禾肯定放在最上面,这就是压入;你想拿柴禾,就要从最上面拿。最后放进去的在最上面,也是最先被拿走的。所谓先进后出(FILO),有个成语叫后来者居上说的就是这档子事。
链表是实现先进后出逻辑的一种手段,你也完全可以用数组。
[解决办法]
栈是一种数据结构,特点是后进先出,可以用数组和链表实现,建议楼主去看看数据结构;你老师说的可能是系统堆栈,其实就是栈(翻译的不好),临时变量在内存中存储的地方。
[解决办法]
链表是逻辑上的,堆栈是物理上的。
[解决办法]
堆 heap 指的是 非连续存储区域 一般是你程序控制的内存页之外的存储区域
栈 stack 指的是一段连续的存储区域 先进后出( FILO)的结构
如果你想用函数实现的话
int func(int a)
{
if(a>0)
func(a-1);
cout<<a<<endl;
else
return 1;
}
int main()
{
func(3);
}
[解决办法]
说真的,要我用 我会,解释这些概念名词,还真不行
[解决办法]
你们没开《数据结构》的课程吗? 好好看些这本书
[解决办法]
慢慢来哈!总有一个过程撒!建议看数据结构
[解决办法]