码迷,mamicode.com
首页 > 编程语言 > 详细

C语言实现栈

时间:2020-06-16 18:18:05      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:empty   个数   pen   编号   style   null   def   code   ret   

1、结构体

1 typedef struct my_stack {
2     int len;//既可以表示栈顶编号也可以表示元素个数
3     typename a[10001];//用数组表示栈内元素
4 }Stack;

2、初始化

1 Stack* create_emptystack() {
2     Stack *s;
3     s = (Stack*)malloc(sizeof(Stack));
4     if(s == NULL)
5         printf("malloc error\n");
6     else
7         s->len = -1;
8     return s;
9 }

3、判断栈是否为空

1 int isempty(Stack *s) {
2     return s->len == -1;
3 }

4、入栈

1 void push_stack(Stack *s, typename value) {
2     if(s->len > 10001)
3         printf("exceed!\n");
4     else {
5         s->len++;
6         s->a[s->len] = value;
7     }
8 }

5、出栈

1 void pop_stack(Stack *s) {
2     if(!isempty(s))
3         s->len--;
4 }

6、获取栈顶元素

1 tpyename get_top(Stack *s) {
2     return s->a[s->len];
3 }

 

C语言实现栈

标签:empty   个数   pen   编号   style   null   def   code   ret   

原文地址:https://www.cnblogs.com/knightoflake/p/13143382.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!