主题:[原创]链式栈的C++实现
template<class T>
ostream& operator << (ostream& os,LinkedStack<T>& s)
//输出栈中元素的重载操作
{
os<<"栈中元素个数="<<s.getSize()<<endl; //输出栈中元素个数
LinkNode<T>* p=s.top;int i=0; //逐个输出栈中元素的值
while(p!=NULL)
os<<++i<<":"<<p->data<<endl;
return os;
};
在VC++6.0中,它只能显示元素的个数,不能输出元素值,各位看看是怎么回事,也不提示错误
在显示之前我做了几个Push操作,我把Push函数的代码也贴上,看看是不是有点关系。
template<class T>
void LinkedStack<T>::Push(const T& x)
//将元素值x插入到链式栈的栈顶,即链头
{
top=new LinkNode<T>(x,top); //创建新的含x节点
assert(top!=NULL); //创建新节点失败退出
};
ostream& operator << (ostream& os,LinkedStack<T>& s)
//输出栈中元素的重载操作
{
os<<"栈中元素个数="<<s.getSize()<<endl; //输出栈中元素个数
LinkNode<T>* p=s.top;int i=0; //逐个输出栈中元素的值
while(p!=NULL)
os<<++i<<":"<<p->data<<endl;
return os;
};
在VC++6.0中,它只能显示元素的个数,不能输出元素值,各位看看是怎么回事,也不提示错误
在显示之前我做了几个Push操作,我把Push函数的代码也贴上,看看是不是有点关系。
template<class T>
void LinkedStack<T>::Push(const T& x)
//将元素值x插入到链式栈的栈顶,即链头
{
top=new LinkNode<T>(x,top); //创建新的含x节点
assert(top!=NULL); //创建新节点失败退出
};