注册 登录
编程论坛 数据结构与算法

栈是如何出栈的??

jkbj 发布于 2014-06-09 17:37, 676 次点击
栈的出栈是怎样输出的??是一个个还是一起输出,例如,能不能利用循环语句先输出一个元素在运行其他的语句然后在输出一个元素如此循环
5 回复
#2
sm629cp2014-06-10 09:10
都有,要看具体情况的。
#3
jkbj2014-06-10 12:16
回复 2 楼 sm629cp
能不不能帮我定义一个获取栈顶元素的方法和遍历栈满足一定条件的方法,和一个个获取元素的方法,我看书上看不懂,上课又没听过
#4
sm629cp2014-06-10 12:54
5)出栈操作(删除栈S的栈顶元素)
算法思路:先将栈S的栈顶结点的值送到e所指向的内存单元,然后删除栈顶结点。

int pop(linkstack *s,elemtype *e)
{linkstack *p;
 if(s->next==NULL) return 0;                    /栈空,删除失败,返回0/
 p=s->next;
 *e=p->data;                                    /栈顶结点值赋给e指针所指向的单元/
 s->next=p->next;
 free(p);
 return 1;                                      /出栈成功,返回1/
}
#5
sm629cp2014-06-10 12:56
7)输出栈(输出栈S自栈顶到栈底的元素值)

void list(linkstack *s)
{linkstack *p;
 p=s->next;
 while(p!=NULL)
 {printf("%4d",p->data);
  p=p->next;
 }
 printf("\n");
}
#6
jkbj2014-06-10 12:59
谢了,我来去试下
1