《C和指针》读书笔记(九)

第十七章 经典抽象数据类型ADT

1.如何获取内存来存储值。三种可选方案:静态数组,动态分配的数组和动态分配的链式结构。

2.堆栈,后进先出。

实现堆栈:

#define STACK_TYPEint //堆栈所存储的值的类型

voidpush(STACK_TYPE value);入栈

void pop(STACK_TYPEvalue);出栈

STACK_TYPEtop(void);返回栈顶的值

int is_empty(void);判空

int is_full(void);判满

3.队列,先进先出

实现队列:

#define QUEUE_TYPEint//队列所存储的值的类型

voidcreate_queue(size_t size);//创建队列

voiddestroy_queue(void);//销毁队列

voidinsert(QUEUE_TYPE value);//插入新元素

void delete(void);从队列移除一个元素丢弃

QUEUE_TYPEfirst(void);//返回第一个元素的值

int is_empty(void);判空

int is_full(void);判满

4.二叉搜索树接口

#define TREE_TYPEint//树的值的类型

voidinsert(TREE_TYPE value);//向树添加一个新值

TREE_TYPE*find(TREE_TYPE* value);//查找一个特定值

voidpre_order_traverse(void (*callback)(TRRR_TYPE value));//先序遍历

第十八章 运行时环境

1.虚拟内存:由操作系统实现,在需要时把程序的活动部分放入内存并把不活动的部分复制到硬盘中,这样就可以允许系统运行大型的程序。 

2.是链接器而不是编译器决定外部标识符的最大长度 

3.不能链接由不同编译器产生的程序。 

4.优化程序:优化算法比优化代码更有效果。 

5. 静态变量初始化:

int static_variable = 5;

编译成汇编:

.data   进入数据区

.global _static_variable   定义全局变量

_static_variable:    为全局变量赋值

.long 5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值