码迷,mamicode.com
首页 > 其他好文 > 详细

我的STL之旅 MyStack

时间:2015-03-05 20:48:07      阅读:141      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!