首页 > 其他 > 详细

我的STL之旅 MyStack

时间:2015-03-05 20:45:27      阅读:264      评论:0      收藏:0      [点我收藏+]
#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;
} 

 

我的STL之旅 MyStack

原文:http://www.cnblogs.com/tannian/p/4316637.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!