头文件 //栈结构体定义 struct Stack { int Length; char *head, *rear; }; void InitStack(Stack *, int); void EnStack(Stack *, char); char DeStack(Stack *);
实现: //构造栈 void InitStack(Stack *q,int length){ q->Length = length; q->head = (char *)malloc(sizeof(char)*q->Length); q->rear = q->head; } //插入数据 void EnStack(Stack *q,char key){ *(q->head) = key; q->head=q->head+1; } //取出数据 char DeStack(Stack *q){ char temp = *(q->head); q->head=q->head-1; return temp; }