从栈中取出的问题

来源:7-6 寻路

慕移动9586716

2021-04-25

好久没问问题了!bobo老师好!
我的问题如下:
int p = w;
while( p != -1 ){
s.push§;
p = from[p];
}
//上面的内容已经理解了

    // 从栈中依次取出元素, 获得顺序的从s到w的路径
    vec.clear();
    //问题从这里开始
    while( !s.empty() ){
        vec.push_back( s.top() ); //这一行代码不是太能看懂列如s.top()这个method,这一行代码是将s中以排好的顺序加入vec里面嘛?
        s.pop();//还有这个函数?
    }
写回答

1回答

liuyubobobo

2021-04-26

栈有三个基本操作:入栈,出栈,和查看栈顶元素。


s.top() 是查看栈顶元素。所以 vec.push_back(s.top()) 将栈顶元素放入了 vec 的后面;


s.pop() 是出栈,即将栈顶元素出栈。


继续加油!:)

0
1
慕移动9586716
非常感谢!
2021-04-26
共1条回复

算法与数据结构(C++版) 面试/评级的算法复习技能包

课程专为:短时间内应对面试、升职测评等艰巨任务打造

11187 学习 · 1614 问题

查看课程