C语言单链表实现栈
发布日期:2021-06-30 18:42:57
浏览次数:3
分类:技术文章
本文共 1225 字,大约阅读时间需要 4 分钟。
#include "stdio.h"#include "stdlib.h"struct List{ int data; struct List * next;}; struct Stack{ struct List *head; int size;};struct Stack * StackInit(void){ struct Stack *stack = NULL; stack = (struct Stack*)malloc(sizeof(struct Stack)); stack->head = (struct List *)malloc(sizeof(struct List)); stack->head->next = NULL; stack->size = 0; return stack;}int StackPush(struct Stack *stack,int data){ struct List *tmp = (struct List *)malloc(sizeof(struct List)); tmp->data = data; tmp->next = stack->head->next; stack->head->next = tmp; stack->size++; //printf("push:%d \n",data); return 0;}int IsStackEmpty(struct Stack *stack){ /*如果头指针指向下一个为空,说明栈为空*/ if(stack->head->next == NULL) return 1; else return 0;}int StackPop(struct Stack *stack,int *data){ struct List *tmp = NULL; if(IsStackEmpty(stack)) return -1; tmp = stack->head->next; *data = tmp->data; stack->head->next = tmp->next; stack->size--; free(tmp); //printf("pop:%d \n",*data); return 0;}int main(void){ int i = 0; struct Stack *stack = NULL; stack = StackInit(); for(i = 0;i<5;i++) { StackPush(stack,i); } for(i = 0;i<5;i++) { int data = 0; StackPop(stack,&data); printf("%d ",data); } printf("\n"); return 0;}
转载地址:https://linus.blog.csdn.net/article/details/102796151 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
很好
[***.229.124.182]2024年05月01日 01时05分40秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
leetcode46 全排列
2019-04-30
leetcode121 买卖股票的最佳时机
2019-04-30
leetcode 122 买卖股票的最佳时机II
2019-04-30
leetcode 309 最佳买卖股票含冷冻期
2019-04-30
leetcode 714 买卖股票的最佳时机含手续费
2019-04-30
leetcode3 无重复字符的最长子串
2019-04-30
leetcode 76 最小覆盖子串
2019-04-30
leetcode 1143. 最长公共子序列
2019-04-30
leetcode 83. 删除排序链表中的重复元素
2019-04-30
智能体 Intelligent Agent
2019-04-30
Network Compression网络压缩(一)
2019-04-30
GAN系列(零)—— GAN的发展(两条路线)
2019-04-30
Conditional GAN (CGAN) 条件生成网络
2019-04-30
强化学习(三) —— Policy Gradient 策略梯度
2019-04-30
docker安装oracle(win10)
2019-04-30
Cloudera Quickstart & HUE
2019-04-30
HUE
2019-04-30
CDH
2019-04-30
行为树 BT
2019-04-30
Cassandra & CQL
2019-04-30