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]的意思就是:最后压入的数据,也就是栈顶的数据。例...

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

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

Status Pop(LinkStack *s,Elemtype *e){LinkStack p;if(s==NULL) return 0;*e = s->data; return 1;}

e 是变量,ElemType栈中元素的类型,e是入栈的节点。 。*S.top++ = e, e不是1 这句相当于: *S.top=e; S.top++; 入栈操作

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...

连在一起的意思是: 把s 插在p之后 意思就是: (1 ) 先把e给 s->data (2) 然后将p的next域给s的next (3) 最后是把s给p的next域

+&是取地址,不加&就是取值。

因为第i个元素的下标是i-1~ 还有插入的时候,因为指向的是一个空节点,所以先存入数据,再让尾指针指向后边那个空节点~

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