#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; /* push(int item) int pop() top() 返回stact中的下一个元素 s.top()=12; 设置顶层元素 返回对其引用 */ const int N=10; const int AN=5; int size;//记录大小 int *stack;//存储数据 int top;//记录顶端元素 void push(int item) { if(top==size){ int *a=new int[size+AN]; for(int i=0;i<size;i++){ a[i]=stack[i]; } stack=a; } stack[top++]=item; } int pop() { if(top>0) return stack[--top]; } int &ttop() { if(top==size){ int *a=new int[size+AN]; for(int i=0;i<size;i++){ a[i]=stack[i]; } stack=a; } return stack[top++]; } int main() { top=0; stack=new int[N]; size=N; for(int i=0;i<2*N;i++) { push(i); } cout<<"top: "<<top<<endl; cout<<"pop() "<<pop()<<endl; ttop()=77; for(int i=0;i<top;i++){ cout<<stack[i]<<" "; } return 0; }
时间: 2024-10-10 13:13:03