退栈运算

退栈运算是指取出栈顶元素并赋给一个指定的变量。
“赋给一个指定的变量”是什么意思?
入栈就是插入一个元素,退栈难道不是该就取出吗?
还有读栈顶元素,也有赋给一个指定的变量,什么意思?

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

栈的顺序存储空间为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),删除则称为退栈。

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

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-24
退栈是将栈顶元素赋值给某个变量,并从栈中去掉(删除)这个栈顶元素,栈中少了一个元素
读栈顶元素时只是将栈顶元素值赋值给某个变量,但是并不去掉栈顶元素,因此栈中元素个数不变本回答被提问者采纳
第2个回答  2011-03-17
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);
}

退栈运算
退栈是将栈顶元素赋值给某个变量,并从栈中去掉(删除)这个栈顶元素,栈中少了一个元素,读栈顶元素时只是将栈顶元素值赋值给某个变量,但是并不去掉栈顶元素,因此栈中元素个数不变。栈的顺序存储空间为S(1:50),初始状态为top=0。经过一系列入栈与退栈运算后,top=20,则栈顶-栈底=20-0...

Stack退栈(POP)算法
退栈的过程是将栈顶的元素取出并赋值给变量X。具体步骤是:获取栈顶元素X,即X等于S(TOP),这里的S表示栈顶元素的访问操作。完成元素的出栈后,栈指针TOP需要向下移动一位,表示栈顶已更新,即TOP的值减1。这个操作表示栈顶指针指向了下一个元素的位置,此时栈并未被完全清空。栈在编程中发挥着重要...

栈基本算法
退栈操作的步骤是:1. 在执行前,检查栈顶元素(TOP)是否为空。如果为空,输出下溢信息并进行错误处理,不执行退栈操作。2. 如果栈不为空,将栈顶元素(即S(TOP))赋值给一个变量X,表示取出该元素。3. 最后,将TOP的值减1,表示栈顶指针向下移动,指向下一个元素(如果存在)。退栈操作至此...

退栈时的操作
你写退栈函数时多定义一个传参变量,先用gettop将栈顶元素的值赋给这个变量然后再退栈。并不需要每次出栈都将栈顶的元素的空间释放掉, 释放掉地画下一次元素进栈还得重新分配整个栈的空间,倒腾栈中的数据,那样太费时间. 栈顶指针-1,就表示栈顶元素出栈,并被删除,下一次元素进栈,只要栈顶指针+1...

退栈和出栈是一个意思吗,还是有什么区别
退栈(Unstack)是计算机科学中,对栈(Stack)这一数据结构操作的一种称呼。在栈中,数据的添加(压栈)和删除(退栈)都遵循后进先出(LIFO)的原则,即最后进入栈的元素会首先被删除。在编程语言例如Python中,退栈操作通常使用 pop() 方法实现。出栈(Pop Stack)也是计算机科学中对栈这一数据结构...

在c中什么是退栈??
退栈就是指把一个数据从栈里删除,也就是从栈顶取出一个元素(该数据不用保存,如是出栈操作则该数据要保存)。。。同时栈顶指针减一。。。

.如果以链表作为栈的存储结构,则退栈操作时( )。
1、若TOP≤0,则给出下溢信息,作出错处理(退栈前先检查是否已为空栈, 空则下溢;不空则作2);2、X=S(TOP),(退栈后的元素赋给X):3、TOP=TOP-1,结束(栈指针减1,指向栈顶)。栈作为一种数据结构,一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据,先...

栈的运算遵循什么原则
先进后出、后进先出。栈是操作受限或限定仅在表尾进行插入和删除操作的线性表,栈的运算遵循先进后出、后进先出的原则。栈的基本运算有三种:入栈,指在栈顶位置插入一个新元素;退栈,指取出栈顶元素并赋给一个指定的变量;读栈顶元素,指将栈顶元素赋给一个指定的变量。

vb中退栈一次是什么意思
1、进栈(PUSH)算法 ①若TOP≥n时,则给出溢出信息,作出错处理(进栈前首先检查栈是否已满,满则溢出;不满则作②);②置TOP=TOP+1(栈指针加1,指向进栈地址);③S(TOP)=X,结束(X为新进栈的元素);2、退栈(POP)算法 ①若TOP≤0,则给出下溢信息,作出错处理(退栈前先检查是否...

出栈(退栈)的含义?
并不需要每次出栈都将栈顶的元素的空间释放掉,释放掉地画下一次元素进栈还得重新分配整个栈的空间,倒腾栈中的数据,那样太费时间.栈顶指针-1,就表示栈顶元素出栈,并被删除,下一次元素进栈,只要栈顶指针+1,并不会影响栈操作.

相似回答