CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

stack模板

楼主jet8(jet8)2005-06-03 20:53:28 在 C/C++ / C++ 语言 提问

很多算法都要用到栈,STL提供的stack模板的成员函数如下:  
  stack   (const   Sequence   &c=Sequence())    
  bool     empty   ()   const    
  size_type     size   ()   const    
  reference     top   ()    
  const_reference     top   ()   const    
  void     push   (const   value_type   &x)    
  void     pop   ()    
  在有些算法中需要将整个工作栈拷贝出来。但是,stack模板好象没有提供相应的手段,对于stack有没有合适的方法完成工作栈的拷贝?  
  问题点数:20、回复次数:3Top

1 楼useresu(俗人)(灌水是我无言的抗议)回复于 2005-06-03 21:32:48 得分 10

stack是一个适配器,除了作为栈必须提供的接口外,  
  其他的实现其实是由实现它的标准容器决定的,  
   
  如果你用一个vector实现stack,  
  那么你就可以先实现vector的拷贝,  
  然后用拷贝后的vector去初始化一个stack,  
   
  当然这样效率可能低一些,  
   
  仅是我的一些想法,供参考Top

2 楼sunman1982(冥王星)回复于 2005-06-03 21:43:51 得分 0

自己写的时候不可以实现一个copy函数么?Top

3 楼nasi00(莫傲·逍遥)回复于 2005-06-04 02:42:12 得分 10

如果你追求效率的话,可以自己写Stack,相信一点儿都不麻烦,你的要求也都能达到  
   
  如果你不追求效率的话,可以通过别的容器封装而成,STL里面的Stack的确提供的接口太少,如果我选的话,我通常都是用deque,push_back()加上pop_front()Top

相关问题

  • 模板问题
  • 关于模板
  • 模板问题?????
  • 寻找模板!
  • 模板函数
  • 重载,,,模板。。。。。
  • 函数模板
  • C++模板类
  • 模板问题!
  • 关于模板

关键词

  • 模板
  • 拷贝
  • stack
  • 实现
  • 效率
  • 话
  • 提供
  • const

得分解答快速导航

  • 帖主:jet8
  • useresu
  • nasi00

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo