轻松学习c++&C++典型例题

时间:2012-08-23 06:26:17
【文件属性】:

文件名称:轻松学习c++&C++典型例题

文件大小:11MB

文件格式:RAR

更新时间:2012-08-23 06:26:17

经典c++例题

public: void print(){cerr<<"栈已空,无法出栈"<class Stack{ int top; //栈顶指针(下标) T *elements; //动态建立的数值 int maxSize; //栈最大允纳的元素个数 public: Stack(int=20); //栈如不指定大小,设为20元素 ~Stack(){delete[] elements;} void Push(const T &data) ; //压栈 T Pop(); //弹出,top-- T GetElem(int i){return elements[i];} //返回指定元素,top不变 void MakeEmpty(){top= -1;} //清空栈 bool IsEmpty() const{return top== -1;} //判栈空 bool IsFull() const{return top==maxSize-1;} //判栈满 void PrintStack(); //输出栈内所有数据 }; template Stack::Stack(int maxs){ maxSize=maxs; top=-1; elements=new T [maxSize]; //建立栈空间 } template void Stack::PrintStack(){ for(int i=0;i<=top;i++) cout< void Stack::Push(const T &data) { if(IsFull()) throw pushOnFull(data); //栈满则抛出异常 elements[++top]=data; //栈顶指针先加1,元素再进栈,top是指向栈顶元素 } templateT Stack::Pop() { if(IsEmpty()) throw popOnEmpty(); //栈已空则不能退栈,抛出异常 return elements[top--]; //返回栈顶元素,同时栈顶指针退1 }


网友评论

  • 感谢分享这个很有用