C和指针 (学习之旅)

NO.6

所有的的抽象数据类型(ADT)都要确定采用哪种方式获取内存。
静态数组,动态分配数组,动态分配的链式结构
堆栈:就像往一个瓶里面塞东西,想要拿出来,一般只能先拿上面的,后进的先出(LIFO)
堆栈有三个操作:push,pop,top
push,将数据推入栈中,pop移除,top返回。
堆栈对于链表来说实现比较 方便,单链表就行
首先定义一个结构,结构中含有指向下一个元素的指针,以及元素的值。
push:
new_node->value = value;
new_node->next = stack;
stack = new_node;
pop:
first_node = stack;
stack = first_node->next;
free( first_node );
top:
return stack->value;

队列:
先进先出(FIFO),一根管子。
实现队列需要两个指针,一个指向头,一个指向尾部。

树:
在二叉搜索树 中插入还是比较简单的,因为其已经排好各个节点的大小。
前序遍历:中左右
中序遍历:左中右
后序遍历:左右中
具体代码实现,在之后的数据结构的学习过程中,再进行详细的解说。
在二叉搜索树中,迭代要比使用递归要好一些。


本书的最后还讲解了一些关于C和汇编语言的一种沟通。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值