返回顶部

收藏

C++栈的链式存储

更多
#include<iostream>
using namespace std;

struct Data
{
    Data *next;
    int data;
};

class Link_Stack
{
private:
    Data *base;
    Data *top;
    int top1;
public:
    Link_Stack()
    {
        Data *temp=new Data;
        temp->data=NULL;
        top=temp;
        base=top;
        top1=0;
    }
    void push(int n)
    {
        Data* temp=new Data;
        temp->data=n;
        temp->next=top;
        top=temp;
        top1++;
    }
    int pop()
    {
        int t;
        t=top->data;
        top=top->next;
        top1--;
        return t;
    }
    void output()
    {
        Data *p=top;
        while(p->data!=NULL)
        {
        cout<<p->data<<" ";
        p=p->next;
        }
    }
};
int main()
{
    Link_Stack a;
    int i,n=1,s=0;
    cin>>n;
    while(n!=0)
    {
        s++;
        a.push(n);
        cin>>n;
    }
    for(i=1;i<=2;i++)
    {
        cout<<"返回栈顶的元素:"<<a.pop()<<endl;
        cout<<"剩下的元素为:";
        a.output();
        cout<<endl;
    }
    cout<<endl;
    return 0;
}

标签:堆栈,链式存储,C++

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. 博主 发表 2014-09-01 16:00:00 C/C++中手动获取调用堆栈
  2. 博主 发表 2014-09-01 16:00:00 C/C++中手动获取调用堆栈
  3. 绚丽也尘埃 发表 2013-01-05 06:22:35 JsonCpp使用优化(三)
  4. mortoray 发表 2013-02-21 17:54:48 Leaf: Preserving “lvalue” status
  5. Herb Sutter 发表 2012-06-01 23:04:27 We’re hiring (again & more)
  6. Herb Sutter 发表 2012-10-29 16:35:29 The Future of C++: Live broadcast this Friday
  7. Boris Kolpackov 发表 2012-09-18 09:14:47 ODB 2.1.0 released
  8. CppLive 发表 2012-04-15 02:46:53 Linux下的Make与Makefile
  9. 陈皓 发表 2013-04-29 08:17:40 “C++的数组不支持多态”?
  10. Qiang 发表 2011-01-04 16:25:00 C++ 不给力之不可继承
  11. CppLive 发表 2013-06-24 14:52:04 MAC跟Linux下Android交叉编译环境搭建
  12. mortoray 发表 2013-07-14 12:20:28 Rejuvenating the ternary conditional with optional

发表评论