1. 程式人生 > >資料結構棧C語言實現

資料結構棧C語言實現

根據《大話資料結構》整理

#include <stdio.h>

#define MAXSIZE 20

#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
typedef int Status;

typedef int SElemType;

typedef struct
{
    SElemType data[MAXSIZE];// 陣列實現的棧
    int top;

} SqStack;

/* 插入元素e為新的棧頂元素 */
Status Push(SqStack *S, SElemType e)
{
    if
(S->top == MAXSIZE - 1) /* 棧滿 */ { return ERROR; } S->top++; /* 棧頂指標增加一 */ S->data[S->top] = e; /* 將新插入元素賦值給棧頂空間 */ return OK; } Status Pop(SqStack *S, SElemType *e) { if (S->top == -1) { return ERROR; } *e = S->data[S->top]; /* 將要刪除的棧頂元素賦值給e */
S->top--; /* 棧頂指標減一 */ return OK; } /** 測試程式碼 */ int main(void) { return 0; }