退栈运算

发布网友

我来回答

3个回答

热心网友

退栈是将栈顶元素赋值给某个变量,并从栈中去掉(删除)这个栈顶元素,栈中少了一个元素,读栈顶元素时只是将栈顶元素值赋值给某个变量,但是并不去掉栈顶元素,因此栈中元素个数不变。

栈的顺序存储空间为S(1:50),初始状态为top=0。经过一系列入栈与退栈运算后,top=20,则栈顶-栈底=20-0=20个元素。

栈是向上增长的,每次压入一个元素,栈的TOP指针向上移动一位。当压入第一个元素时,TOP指针指向m+1-1 = m当压入第二个元素时,TOP指针指向m+1-2 = m-1。

扩展资料:

栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据。栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。

栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。插入一般称为进栈(PUSH),删除则称为退栈。

参考资料来源:百度百科-栈

热心网友

退栈是将栈顶元素赋值给某个变量,并从栈中去掉(删除)这个栈顶元素,栈中少了一个元素
读栈顶元素时只是将栈顶元素值赋值给某个变量,但是并不去掉栈顶元素,因此栈中元素个数不变

热心网友

de "stdio.h"
long Factorial(long n)
{
long temp;
if(n == 1)
{
printf("%d ",n);
return 1;
}
else
{
temp = n * Factorial(n-1);
printf("%ld ",temp);
return temp;
}
}

void main()
{
long n;
printf("Input the value of n:");
scanf("%ld",&n);
Factorial(n);
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com