数据结构做链式堆栈遇到了这个问题,以下是我的代码。看了好久都没有发现错误。以下是本人的代码:
// ConsoleApplication4.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
using namespace std;
typedef int ElemType;
typedef struct Node
{
ElemType data;
struct Node *next;
}*Listack;
void InitListack(Listack &top)
{
top=NULL;
}
void Push(Listack &top,ElemType e)
{
Node *s;
s=new Node();
s->data=e;
s->next=top;
top=s;
}
void Pop(Listack &top)
{
ElemType e;
Node *p=top;。
if(top==NULL)
{
cout<<"栈空"<<endl;
}else
{
e=top->data;
top=top->next;
delete p;
}
}
void ShowLiStack(Listack &top)
{
Listack p;
p=NULL;
p=top;
while (p!=NULL)
{
cout<<p->data<<"";
p=p->next;
}
}
int _tmain(int argc, _TCHAR* argv[])
{
Listack Ls;
cout<<"请输入你要插入的位数(大于等于1)"<<endl;
int n;
cin>>n;
if (n<=0)
{
cout<<"非法值,重新输入"<<endl;
}
for (int i = 0; i < n; i++)
{
cout<<"请输入你想输入的第"<<i+1<<"个值"<<endl;
int e;
cin>>e;
Push(Ls,e);
}
ShowLiStack(Ls);
cout<<"打印完成"<<endl;
getchar();
getchar();
return 0;
}