llgd.net
当前位置:首页 >> 数据结构E=*%%s.top什么意思? >>

数据结构E=*%%s.top什么意思?

优先级 '.' > "--" = '*', 所以是e = *(--(s.top)) s是stack s.top有两种可能 一是指向栈顶元素的指针 二是指向比栈顶元素更高一层的空元素 从这里的实际情况来看,我判断是第二种情况,当s.top==0时,栈为空。 --s.top是递减指针,这时s.top就...

从你的代码看应该是C语言或C++吧。 在代码中s应该是一个结构体指针,结构体中包括用于存储压入栈数据数组data[],和表示栈顶的变量top(一般栈为空时 top=-1,压入一个加1)因而s->data[s->top]的意思就是:最后压入的数据,也就是栈顶的数据。例...

在计算机领域,堆栈是一个不容忽视的概念,堆栈是两种数据结构。堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。在单片机应用中,堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护...

S->top 是变量 含义就是: *(S->top)=e; // 先对指针指向的块送值 S->top=S->top+1; // 再指针增一

top就是栈顶指针,栈是一个只针对栈顶元素操作的数据结构,也就是说所有的操作的改变只是栈顶指针,出栈top--,入栈top++,获取栈顶元素data[top]

-1在编程中通常作为错误代码或特殊状态处理。 在C语言中,数组的编号从0开始到n,那么常用-1表示未指定数组中的某个元素或数组长度为0,无法指向任何一个元素。

这个应该是链表里面最常遇见的问题了! s->next的意思是s指向的某个(如结构体)变量中的next这个成员本身 然后把p->next的地址赋值给s->next,也就是说s->next指向p->next 链表中使用的较多!一个链表的一个节点包括数据域和指针域两部分,s->n...

没有问题,那个top永远指向没有元素待插入的位置(也就是栈顶元素位置的下一个下标),而不是指向栈顶元素的位置 你说的那种方式是top指向栈顶元素的位置,所以入栈变成了*++top = e,出栈成了e = *top--;了

图中并没有s.top-1 这里涉及到两种不同的策略,那就是(a)s.top是直接指向栈顶呢还是(b)s.top指向栈顶之上的空位置。不管哪种策略,都存在s.top-1的问题。对于(a), 出栈的时候,先取栈顶s.top指向的元素,再s.top-1;对于(b),出栈的时候,先s....

++top是先+1再运算,所以是从0开始的 而TOP++是先运算再加1,所以是从-1开始的

网站首页 | 网站地图
All rights reserved Powered by www.llgd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com