由于在C++数据结构中的代码不完整,特补全。等日后当工程库调用。

若有疑问,请留言.

#include<iostream>
using namespace std;
template<class T>
struct Node
{
T data;
Node<T> *next;
}; template <class T>
class LinkStack
{
private:
Node<T> *top;
public:
LinkStack(){top=NULL;}
~LinkStack();
void Push(T x);
void Pop();
T GetTop();
int StackEmpty();
void ClearStack();
void StackTranverse();
}; template<class T>
LinkStack<T>::~LinkStack()
{
Node<T> * q;
while(top)
{
q=top;
top=top->next;
delete q;
}
}
/****************链栈的入栈*******************/
template<class T>
void LinkStack<T>::Push(T x)
{
Node<T> * s;
s=new Node<T>;
s->data=x;
s->next=top;
top=s;
}
/*************链栈的出栈***********************/
template<class T>
void LinkStack<T>::Pop()
{
Node<T> *p;
if(top==NULL) throw "underflow";
p=top;
top=top->next;
cout<<p->data<<"已经被删除"<<endl;
delete [] p;
} /*****元素X入栈********/
template<class T>
T LinkStack<T>::GetTop()
{
return top->data;
} /**********判断栈是否为空************/
template<class T>
int LinkStack<T>::StackEmpty()
{
if(top->next==NULL)
return ;
return ;
} /****************清空栈********************/
template<class T>
void LinkStack<T>::ClearStack()
{
Node<T> * q;
while(top)
{
q=top;
top=top->next;
delete q;
}
} /********************遍历输出栈中元素************/
template<class T>
void LinkStack<T>::StackTranverse()
{ Node<T> * temp;temp=top;
while(temp)
{
cout<<temp->data<<" ";
temp=temp->next;
}
cout<<endl;
}

最新文章

  1. Spring远程调用技术&lt;1&gt;-RMI
  2. checkbox js onclick ajax,列表页表格中修改数据
  3. PHP的$_SERVER[&#39;PHP_SELF&#39;]造成的XSS漏洞攻击及其解决方案
  4. 【qt4.8.6】qt-everywhere-opensource-src-4.8.6静态库编译,搭建vs2010 + Qt4.8.6环境
  5. 通过API函数来控制SQLite数据库增删改查
  6. Nlog Layout
  7. UML统一建模语言
  8. Spirng_Batch
  9. oracle 事务简介,锁的概念,java访问数据库注意事项
  10. C++程序设计实践指导1.12数组中数据线性变换改写要求实现
  11. C#之PixturBox控件实现缩放和拖动图片
  12. Git 概念
  13. 2017-12-15python全栈9期第二天第七节之数字转换成布尔值
  14. angular笔记_1
  15. Windows远程桌面(mstsc)不能复制粘贴的解决办法
  16. c# 读取txt方法
  17. &lt;基础&gt; PHP 数组操作
  18. MySQL查询实例
  19. C# webservice服务跟踪调试方法(转)
  20. 关于ip判断

热门文章

  1. 启动tomcat的时候,服务器暂停到装载mysql驱动文件的原因
  2. hdu 4033 Regular Polygon 计算几何 二分+余弦定理
  3. IBM HeapAnalyzer
  4. 59 pages的Delphi源码
  5. Android-设置PullToRefresh下拉刷新样式
  6. was配置oracle RAC集群的数据源
  7. j2se总结
  8. How draw a stem -and -leaf &amp;amp; box-plot display by R.or Python
  9. Android 手势锁的实现 为了让自己的应用程序的安全,现在
  10. Jquery 触发器之treigger()方法简介