【九月打卡】第9天【养成记】嵌入式挑战第9天 学习顺序栈的代码操作
2022/9/15 3:17:19
本文主要是介绍【九月打卡】第9天【养成记】嵌入式挑战第9天 学习顺序栈的代码操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
课程名称:
物联网/嵌入式工程师
课程章节(阶段二第五周 栈 1-2):
顺序栈的代码操作课程链接
老师:
大白老师
课程内容:
学习顺序栈的代码操作
学习笔记:
顺序栈的数据类型的设计
typedef int data_t; #define MAX 10 typedef struct { //数组存储数据元素 data_t buf[MAX]; //记录当前栈顶位置的栈顶指针(下标) int top; }seqstack_t; 创建空的顺序栈 ```c seqstack_t *create_empty_seqstack() { //为顺序栈在堆区分配空间 seqstack_t *s = (seqstack *)malloc(sizeof(seqstack_t)); if(NULL == s) { printf("malloc is fail\n"); return NULL; } memset(s,0,sizeof(seqstack)); // 置为空栈 s->top = -1; return s; }
顺序栈的判空
// 顺序栈的判空,比较top 和 -1 int is_empty_seqstack(seqstack_t *s) { return s->top == -1 ? 1 : 0; }
顺序栈的判满
int is_full_seqstack(seqstack_t *s) { return s->top == MAX - 1 ? 1 : 0; }
入栈
void push_seqstack(seqstack_t*s,data_t data) { s->buf[++s->top] = data; return ; }
出栈
data_t pop_seqstack(seqstack_t *s) { return s->buf[s->top--]; }
获得栈顶元素
data_t get_top_data(seqstack_t *s) { return s->buf[s->top]; }
打卡:
课程评价
本节主要讲解顺序栈的操作代码,跟着老师一步一步写的,都听明白了。
这篇关于【九月打卡】第9天【养成记】嵌入式挑战第9天 学习顺序栈的代码操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-19永别了,微服务架构!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?