栈是一种后进先出的线型结构,C++实现栈的代码如下:
#include <iostream>
using namespace std;
#define MAXLEN 50
typedef struct
{
char key[10];
char name[20];
int age;
}Data;
typedef struct
{
Data nodeData[MAXLEN+1];
int top;
}StackType;
void STInit(StackType &ST)//ST前一定要加上&,因为传入的是定义的ST本身,而不是只传入ST的值
{
ST.top = -1;
}
void STPush(StackType &ST,Data nodeData)
{
ST.nodeData[ST.top+1]=nodeData;
ST.top++;
}
int STIsFull(StackType &ST)
{
if(ST.top==MAXLEN)
return 1;
else
return 0;
}
int STIsEmpty(StackType &ST)
{
if(ST.top == -1)
return 1;
else
return 0;
}
void ClearStack(StackType &ST)
{
ST.top =-1;
cout<<"clear the stack!!"<<endl;
}
void STShow(StackType &ST)
{
cout<<"*******Show the Stack*******"<<endl;
for(int i=0;i<=ST.top;i++)
{
cout<<"index:"<<i<