標籤:堆棧 c
#include <stdio.h>#include <string.h>#include <stdlib.h>#define MAXSIZE 8typedef 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數組類比堆棧