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 = e,出栈成了e = *top--;了

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

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

链栈的初始化只能用LinkStack *top的原因是因为该初始化操作的malloc是在调用函数内,因此如果直接用LinkStack top的话,分配的内存没有返回指针,等到函数调用结束这块内存会没有指针指向,也就无法访问。而是用LinkStack *top的话则不存在返回...

这是栈满时重新分申请分配空间,S.base = (SElemType *)realloc(S.base,(S.stacksize + STACKINCREMENT)*sizeof(SElemType));这条语句执行后,可能得到的空间,是重新分配的(基地址会变),也可能是在原来的基础扩充!S.top = S.base + S.stack...

int pop (sqstack &s, int &e)//删除s的栈顶元素,用e返回其值;{//&e是代表对e的引用,这样在函数pop里面改变e的值,实参也会改变//比如 int x;pop(&s, x);这样就可以把值通过x返回 if(s.top==s.base) return 0; e= *--s.top; return 1;}int pu...

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