链式栈及其基本操作c语言实现
语言 实现 及其 基本操作 链式
2023-09-14 09:06:54 时间
链式栈及其基本操作c语言实现
上次我们讲了顺序栈的实现,事实上栈还可以通过链表实现,实现代码如下,需要学习的同学可以看一下,如有疑问,欢迎留言。
#include<stdio.h>
#include<stdlib.h>
typedef struct stack {
int data;
stack* next;
}stack;
void enstack(stack *s,int e) {
stack* p = (stack*)malloc(sizeof(stack));
p->data = e;
p->next = s->next;
s->next = p;
}
void out_stack(stack* &s,int& e) {
e = s->next->data;
stack *p = s->next;
s->next = p->next;
free(p);
}
void init_stack(stack* &s) {
s = (stack*)malloc(sizeof(stack));
s->next = NULL;
}
bool stack_empty(stack* s) {
if (s->next == NULL)
return true;
else return false;
}
int main() {
stack * s;
init_stack(s);
int a = 6,b;
enstack(s, 6);
printf("\n%d", stack_empty(s));
out_stack(s, b);
printf("\n%d ", b);
printf("\n%d", stack_empty(s));
return 0;
}
相关文章
- javascript语言扩展:可迭代对象(5)
- go语言实现分布式锁
- R语言实现分层抽样(Stratified Sampling)以iris数据集为例
- 单语言精简版win10下中文网页无法正常
- R语言-向量化操作(apply、tapply、lapply、sapply、mapply、table等)
- R语言实现分层抽样(Stratified Sampling)以iris数据集为例
- R语言实现随机森林代码
- Atitit 常见数据结构之编程语言源文件与编译文件 目录 1.1. 通过反射api得到结构1 1.2. 通过源码ast信息1 2. 常见语言1 2.1. Php ast 解析1 2.2.
- atitit.面向过程的编程语言异常处理 c语言 asp vbs 的try catch 实现
- cordova多语言实现相关
- VB.net:VB.net编程语言学习之基于VS软件利用VB.net语言实现对SolidWorks进行二次开发的简介、案例应用之详细攻略
- 编程笔试(解析及代码实现):猴子吃桃。猴子第一天吃了若干个桃子,当即吃了一半,还不解馋,又多吃了一个…的C++、Java、Python、C#等语言代码实现
- tn文本分析语言(四) 实现自然语言计算器
- 别语言之争了,最牛逼的语言不是.NET,也不是JAVA!
- c语言单链表倒置(附原理讲解)
- Go语言学习——如何实现一个过滤器
- JAVA语言之解析Maven依赖机制
- 语言的种类成分
- 设计模式(Python语言)----工厂方法模式
- c语言字符串之拼接函数
- go语言中的运算符和表达式与对应的优先级
- Java(2):Java语言中的基本语法