数据结构之栈——C语言描述
#include "stdio.h"
#include "stdlib.h"
const int MAXSIZE=10;
typedef struct student{
int age;
char name[20];
} Student;
typedef struct {
Student* base;
Student* top;
int size;
}SqStack;
void InitStack(SqStack &s){
s.base=(Student *)malloc(MAXSIZE* sizeof(Student));
s.top=s.base;
s.size=MAXSIZE;
}
void Push(SqStack &s,Student e){
if(s.top-s.base==s.size)
return ;
*s.top=e;
s.top++;
}
void Pop(SqStack &s){
if(s.top=s.base)
return;
s.top--;
}
Student GetTop(SqStack s){
if(s.top!=s.base)
return *(s.top-1);
}
int main(){
SqStack s;
InitStack(s);
return 0;
}
#include "stdio.h"
#include "stdlib.h"
const int MAXSIZE=10,ERROR=0,OK=1;
typedef struct student{
int age;
char name[20];
} Student;
typedef struct {
Student student[MAXSIZE];
int top;
}SqStack;
int InitStack(SqStack &s){
s.top=-1;
return OK;
}
int Push(SqStack &s,Student e){
if(s.top>=MAXSIZE-1)
return ERROR;
s.student[++s.top]=e;
}
int Pop(SqStack &s){
if(s.top==-1)
return ERROR;
s.top--;
}
Student GetTop(SqStack s){
if(s.top!=-1)
return s.student[s.top];
}
int Destroy(SqStack &s){
s.top=-1;
}
int main(){
SqStack s;
InitStack(s);
return 0;
}
|