结构数组是线性结构吗guests[2]为什么是2不是1,不是只有两个结构吗

如何从stack中删除一个无素 [问题点數:20分,结帖人u]

下面这个程序是从一个stack中删除一个元素我是借用另一个stack才达到目的,我想知道能不能不用借助另一个stack达到目的请大家敎给我另一种方法吧。这个程序是我想把4从stack中删除

说下思路,先把数据全部抛出来删除某个,再重新压进去

栈本就是先进先出的数据結构你想删除中间的某个值,那就必须把栈顶部的值都放出去存储起来然后再入栈存进来。

如果不借用stack那就借用vector,入栈的时候用反姠迭代器访问vector

不过还不如用stack。

无语!这你还用stack干什么你的选择可能有问题?你不该用stack如果非要这么用,自己重载一个

我记得好像鈳以用stack 去初始化一个vector 反正都是容器,你从vector删除stack就可以了但是貌似,你用stack构造vector然后用vector构造stack,会两次构造函数这样会导致略慢

代码有点醜陋  意思说明白了。

stack内部实现是STL容器(list或者其他)是保护成员。

继承stack通过子类的成员函数操作stack内部容器就行。

如果有从中间删除元素嘚需求那就不应该选择stack。

我这个程序是练习stack的所以没用vector.

说下思路,先把数据全部抛出来删除某个,再重新压进去

按照这个提示我試着写了一下,但是感觉自己写得好复杂

栈的作用就是先进先出,你既然不想先进先出你就不应该用栈。

就像选择大米是用来做饭一樣既然你想吃面条就不应该选择大米。现在你选择了大米却来问用大米怎么做面条,你不觉得很可笑吗折腾死你也只能做出个米粉,永远吃不成面条

怎么好几个都说栈先进先出。。那是队列好吗。

栈的作用就是先进先出,你既然不想先进先出你就不应该用棧。
就像选择大米是用来做饭一样既然你想吃面条就不应该选择大米。现在你选择了大米却来问用大米怎么做面条,你不觉得很可笑嗎折腾死你也只能做出个米粉,永远吃不成面条

你说得有些道理,但是我是因为在练习阶段是想知道除了这个思路以外,有没有别嘚思路从大家的发言来看,我的思路好像是好的

匿名用户不能发表回复!

我要回帖

更多关于 数组是线性结构吗 的文章

 

随机推荐