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

数据结构中关于栈的一些问题。。(本人新手,去多地方都不懂,望高手指点,QQ:1120448377)

a1120448377 发布于 2012-09-04 15:35, 510 次点击
在栈中,,,出栈与取栈顶元素有区别吗?

在栈内(不是空栈),,栈是用链表结构实现的,,那么,栈内的元素怎么表示呢?
/*取栈顶元素*/
DataType Top(SeqStack *S)
{
    if(IsEmpty(S))
    {
        printf("栈为空"); /*下溢,退出运行*/
        exit(1);
    }
    return *(S->top-1);  这个句子的意思是?   在我的理解是,,S.top-1不就是栈顶下面(假若栈是上下的)的那个元素吗,,为什么要减去一呢?
}
3 回复
#2
寒风中的细雨2012-09-04 17:12
这个和栈的实现有关系   根据最后依据应该可以判断:  栈是向上增长 栈顶指针当前所指的位置为空(无效数据)
#3
pangding2012-09-04 20:14
程序有上下文的吧。楼主别栈的实现思路看清楚就好理解了。
#4
a11204483772012-09-04 21:32
能说得的详细些吗?
1