标签:堆栈 c
#include <stdio.h> #include <string.h> #include <stdlib.h> #define MAXSIZE 8 typedef int dataType; typedef struct Stack { dataType date[MAXSIZE]; int top; }Stack; void initStack(Stack *s)//初始化堆栈函数 { s->top=-1; //初始化top指向堆栈的最底部 memset(s->date,0,sizeof(dataType)*MAXSIZE);//将堆栈空间初始化为0(可省略该步骤) } void push(Stack *s,int e) { if (s->top==MAXSIZE-1) { return; } s->top++; s->date[s->top]=e; } void pop(Stack *s,int *e) { if (s->top==-1) { return ; } *e=s->date[s->top];//通过传址的方式获取堆栈中最顶层的数据 s->top--; } int main(void) { Stack myTest; int temp; initStack(&myTest); printf("Push Order:\n"); for (int i=0; i<8; i++) { printf("%d ",i); push(&myTest, i); } printf("\n"); printf("Pop Order:\n"); for (int i=0; i<8; i++) { pop(&myTest, &temp); printf("%d ",temp); } printf("\n"); return 0; }
本文出自 “网络学习总结” 博客,请务必保留此出处http://8947509.blog.51cto.com/8937509/1550922
标签:堆栈 c
原文地址:http://8947509.blog.51cto.com/8937509/1550922