栈的数据存储遵循“后进先出的规则”,这在计算机里面是非常有用的,比如word等编辑软件的"撤销"功能,就是使用栈进行实现的。
1、创建项目
main.h
#ifndef _MAIN_H
#define _MAIN_H
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1 // 无意义
#define OVERFLOW -2
typedef int Status;
typedef int ElemType;
typedef int SElemType;
#endif
main.c
#include "Stack.h"
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
Stack_test();
return 0;
}
Stack.h
#ifndef _STACK_H
#define _STACK_H
#include "main.h"
void Stack_test(void);
#endif
Stack.c
#include "Stack.h"
void Stack_test(void)
{
}
2、创建栈结构
#ifndef _STACK_H
#define _STACK_H
#include "main.h"
#define STACK_INT_SIZE 10 // 栈初始容量为10
#define STACK_INCREMENT 2 // 空间不够每次增加两个
// 栈结构类型
typedef struct
{
SElemType *base; // 栈底指针,栈构造和销毁后为NULL
SElemType *top; // 栈顶指针
int stacksize; // 当前栈的容量,分配的空间数
}SqStack;
void Stack_test(void);
#endif