摘要: 树3-二叉树非递归遍历(栈) 拷贝根结点, 初始值FALSE, 入栈 弹出, 如果是FALSE, 将根节点将更新为TRUE, 其子结点(初始值FALSE)一并入栈 [A,B,C] (前序遍历, 入栈顺序:C,B,A 输出顺序: A,B,C) 再弹出, 如果是TRUE则输出 引入链式栈头文件 #inc 阅读全文
posted @ 2024-04-18 22:10 HIK4RU44 阅读(31) 评论(0) 推荐(0)
摘要: 树2-二叉树拷贝, 遍历, 计算叶子结点和高度 二叉树结点 typedef struct BinaryNode{ char ch; struct BinaryNode *lChild; struct BinaryNode *rChild; } BinaryNode; //叶子结点的数量 int su 阅读全文
posted @ 2024-04-18 20:59 HIK4RU44 阅读(16) 评论(0) 推荐(0)
摘要: 树1: 二叉树概念与遍历方法 二叉树 二叉树的遍历 二叉树遍历分为前序, 中序, 后序. 序是指遍历根结点的顺序 D-data, 根 L 左 R 右, 先序遍历 ABCDE-FGH 中序遍历 BDCE-A-FHG 后序遍历 DECB-HGF-A 先序遍历 ABDH-I-EJ CFG 中序遍历 HDI 阅读全文
posted @ 2024-04-18 20:58 HIK4RU44 阅读(13) 评论(0) 推荐(0)
摘要: 栈5-后缀表达式的求解 求解过程 8 3 1 - 5 * + 数字:进栈 [1,3,8] 符号: - 从栈中弹出右操作数 -1 从栈中弹出左操作数 3-1 根据符号进行运算 2 将运算结果压入栈中 [2,8] 遍历结束, 栈中唯一的数字作为计算结果 定义栈结构 typedef struct MYNU 阅读全文
posted @ 2024-04-18 20:29 HIK4RU44 阅读(15) 评论(0) 推荐(0)
摘要: 栈4-后缀表达式 中缀转后缀 数字: 直接输出 左括号: 进栈 运算符号: 与栈顶符号进行优先级比较 栈顶若是左括号, 优先级最低 栈顶符号优先级低: 此符号进栈 栈顶符号优先级不低, 弹出栈顶符号后进栈 右括号: 将栈顶符号弹出并输出, 知道匹配到左括号 遍历结束: 弹出并输出所有符号 自定义栈结 阅读全文
posted @ 2024-04-18 20:29 HIK4RU44 阅读(14) 评论(0) 推荐(0)
摘要: 栈3: 括号匹配 自定义数据结构 typedef struct MYCHAR{ LinkNode node; char* pAddres; //数据域 int index; // } MyChar; 判断左右括号 int IsLeft(char c){ return c=='('; } int Is 阅读全文
posted @ 2024-04-18 20:08 HIK4RU44 阅读(13) 评论(0) 推荐(0)
摘要: 栈2: 栈的链式存储 栈的结点 //链式栈的结点 typedef struct LINKNODE{ struct LINKNODE *next; } LinkNode; 链式栈的结构 //链式栈 typedef struct LINKSTACK{ LinkNode head; int size; } 阅读全文
posted @ 2024-04-18 19:54 HIK4RU44 阅读(22) 评论(0) 推荐(0)
摘要: 栈: 顺序存储 栈是一种先进后出(First In Last Out,FILO)的数据结构 如果你将两个元素压入栈,先加入的元素将在后加入的元素之后出栈 栈顶元素值为null(未满时) 定义栈的数据结构 #define MAX_SIZE 1024 //利用数组模拟栈的顺序存储 typedef str 阅读全文
posted @ 2024-04-18 19:41 HIK4RU44 阅读(24) 评论(0) 推荐(0)
摘要: 链表4-循环链表 循环链表的特点: 链表的尾结点后继指向头结点 循环链表的结构 typedef struct Node{ int data; //数据域 struct Node *nextNode; //后继 } Node; 循环链表的初始化 Node* initHeader(){ //创建头结点 阅读全文
posted @ 2024-04-18 17:31 HIK4RU44 阅读(30) 评论(0) 推荐(0)