C语言实现栈

2021-05-12 05:29

阅读:659

标签: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


评论


亲,登录后才可以留言!