链式栈的实现
来源:互联网 发布:crf 算法 特征模板 编辑:程序博客网 时间:2024/04/30 12:30
#include <stdio.h>struct stack{ int num; struct stack *next;};typedef struct stack * Stack; //Stack 可以定义结构体指针类型的变量enum Result{STACK_EMPTY,STACK_NOT_EMPTY}; //枚举,作用是消除幻数void init_stack(Stack * top){ *top = NULL;}int get_stack_top(Stack *top){ }int is_stack_empty(Stack *top) //定义一个检查是否是空栈的函数,在出栈时会用到{ if(*top == NULL) { return STACK_EMPTY; } return STACK_NOT_EMPTY;} void push_stack(Stack *newstack, Stack *top) //入栈函数,栈尾一直指向NULL{ (*newstack)->next = (*top); (*top) = *newstack;}int pop_stack(Stack *top) //出栈函数,要进行是否为空栈检查 { if(is_stack_empty(top) == STACK_EMPTY) { return STACK_EMPTY; } int num = (*top)->num; Stack temp = *top; *(top) = (*top)->next; free(temp); //每出栈一个节点,就释放一段空间 temp = NULL; return num;}int main(){ int i; Stack top; Stack newstack; //定义一个新的结构体类型的指针 init_stack(&top); for(i = 0; i < 10; i++) { newstack = (Stack)malloc(sizeof(struct stack)); //给指针分配空间newstack->num = i + 1; //初始化该:指针push_stack(&newstack,&top); } for(i = 0; i < 10; i++) { printf("pop:%d\n",pop_stack(&top)); } return 0;}
链式栈的实现
0 0
- 栈的链式实现
- 链式栈的实现
- 栈的链式实现
- 链式栈的实现
- 链式栈的实现
- 链式栈的实现
- 链式栈的实现
- 链式栈的实现
- 栈的链式实现
- 栈的实现(链式)
- 链式栈的实现
- 链式栈的实现
- 链式栈的实现
- 链式栈的实现
- 栈的链式实现
- 栈的实现:链式栈
- 栈---链式栈的实现
- 栈的链式实现形式
- CentOS安装Code::Blocks
- SOAP有意义的一晚 wsimport
- leetcode-242-Valid Anagram
- socketpair的用途以及实现
- hdu2159 Fate(二维费用背包)
- 链式栈的实现
- Ubuntu16.04安装MySQL5.7
- thinlphp 中 Foreach标签相对比volist标签
- GitHub
- leetcode-217-Contains Duplicate
- 自定义表盘
- 集中式vs分布式
- 安装Git
- POJ 2187 Beauty Contest (凸包)