输出广义表中所有原子项及其所在层次的递归算法
来源:互联网 发布:北京市网络教育 编辑:程序博客网 时间:2024/05/16 10:46
试编写递归算法,输出广义表中所有原子项及其所在层次。
广义表类型GList的定义:
typedef enum {ATOM,LIST} ElemTag;typedef struct GLNode{ ElemTag tag; union { char atom; struct { GLNode *hp, *tp; } ptr; }un;} *GList;实现函数如下:
void OutAtom(GList A, int layer, void(*Out2)(char, int))/* 递归地用函数Out2输出广义表的原子及其所在层次,layer表示当前层次 */{ if(A){ if(A -> tag == ATOM)//如果是原子节点,直接输出 Out2(A -> un.atom,layer); else{//非原子节点,递归 OutAtom(A -> un.ptr.hp, layer+1, Out2);//表头节点,递归 OutAtom(A -> un.ptr.tp, layer, Out2);//表尾节点,递归 } }}
0 0
- 输出广义表中所有原子项及其所在层次的递归算法
- 广义表的原子统计
- 广义表的算法库及其应用
- 广义表深度递归算法的问题
- 第九周项目4--广义表算法库及应用--(2)广义表的原子个数和最大原子
- 广义表的存储结构(广义表的递归算法,复制广义表,求广义表的深度)
- 二叉树实现运算符优先级算法,支持表达式前缀,中缀,后缀,层次,广义表输出
- 项目4.1 -- 广义表的原子统计
- 项目4.1 -- 广义表的原子统计
- 第九周 广义表的原子统计
- 广义表求原子
- 判别两个广义表是否相等的递归算法
- 判别两个广义表是否相等的递归算法。
- 常见的网络协议及其所在的层次
- 广义表的递归实现
- 广义表的递归实现
- 广义表的递归实现
- 普通递归算法:输出n个数的所有全排列
- Java线程:新特征-线程池
- LeetCode: Valid Palindrome [125]
- Java线程:新特征-有返回值的线程
- Java线程:新特征-锁(上)
- 3-1. 三天打鱼两天晒网
- 输出广义表中所有原子项及其所在层次的递归算法
- Java线程:新特征-锁(下)
- 20140617笔记
- 计算机网络(自顶向下方法)学习笔记 1.3 网络核心
- Java线程:新特征-信号量
- 3-2. 用天平找小球
- ojK
- 判别结点u是否为结点v的子孙(一)
- Struts2中jsp前台传值到action后台的三种方式