您的位置:首页 > 编程语言 > C语言/C++

栈的链式存储结构及简单实现

2015-05-28 17:19 239 查看
<span style="font-size:18px;">//栈的链式存储结构
#include<iostream>
using namespace std;
typedef int ElemType;
typedef struct stacknode
{
struct stacknode *next;
ElemType data;
};
struct stacklist
{
stacknode *top;
int count;
};
void InitStack(stacklist *s)
{
s->top=(stacknode*)malloc(sizeof(stacknode));
}
//压栈
stacklist* pushstack( stacklist *s,int data)
{
stacknode *p=(stacknode*)malloc(sizeof(stacknode));
p->data=data;
p->next=s->top;
s->top=p;
s->count++;
return s;
}
int pop(stacklist *s)
{
stacknode *p;
int e=s->top->data;
p=s->top;
s->top=s->top->next;
free(p);
s->count--;

}
int main()
{
stacklist *stack;
cout<<"请输入向堆栈中压入的数据;";
int data;
while(cin>>data)
{
stack=pushstack(stack , data);
}
while(stack->top!=NULL)
{
int e=pop(stack);
cout<<e<<" ";

}

return 0;
}</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++