- 博客(16)
- 问答 (1)
- 收藏
- 关注
原创 二叉树的前中序遍历(非递归+递归)
目录一、头文件1.stack.h 栈头文件2.tree.h 树头文件二、前中序遍历1.前序遍历(递归)2.前序遍历----借助栈3.中序遍历(递归)4.中序遍历----借助栈5.结点上树6.删除树结点7.1查找结点(递归)7.2查找结点(非递归)8.入口函数9.测试结果一、头文件1.stack.h 栈头文件#pragma once#include <stdio.h>#include <iostream>#include "tree.h"using namespace
2022-05-24 23:22:21 380 1
原创 二叉树的后序遍历(非递归+递归)
目录一、头文件1.stack.h 栈头文件2.stack1.h 栈1头文件3.stack2 栈2头文件4.tree.h 树头文件二、源文件1.0.前序遍历(递归)1.1.前序遍历 -- --借助栈(非递归)2.0.中序遍历(递归)2.1.中序遍历--借助栈(非递归)3.0.后序遍历(递归)3.1.后序遍历----借助栈----地址的强制转换(非递归)3.2.后序遍历----借助栈----二级指针(非递归)4.入口函数5.测试结果三、总结一、头文件1.stack.h 栈头文件#pragma once#
2022-05-24 21:54:32 403
原创 二叉树的层序遍历
目录一、树的层序遍历1.结构体2.初始化队列3.入队4.出队5.判空6.建立结点7.结点上树8.层序遍历9.完整代码10.运行结果三、总结一、树的层序遍历1.结构体/*树结点结构体*/typedef struct BTNode { char element; BTNode* left; BTNode* right;}BTNode, * BTNodePtr;/*队列结构体*/typedef struct BTNodePtrQueue { BTNodePtr* nodePtrs;
2022-05-24 15:46:56 356
原创 矩阵的乘法
目录一、1.结构体创立2.初始化3.打印4.矩阵相乘(核心代码)5.完整代码6,运行结果一、1.结构体创立typedef struct TwoDArray{ int rows; int columns; int** elements;} TwoDArray, *TwoDArrayPtr;typedef struct CompressedMatrix{ int rows; int columns; int numElements; Triple* elem
2022-05-19 22:05:43 235
原创 矩阵逆置(图解详讲)
目录一、矩阵逆置1.压缩矩阵2.结构体的建立3.初始化矩阵4.矩阵逆置(核心)5.完整代码6.运行展示一、矩阵逆置1.压缩矩阵矩阵逆置就是把 element[i][j] 换成 element[j][i] 。而对于i为列的下标,j为行的下标。这样的矩阵,有无效数字0,我们无需处理,因此我们采用压缩矩阵,如下图类似于我们只需处理这个压缩矩阵。2.结构体的建立typedef struct Triple { int i; int j; ElemType e;}Trip
2022-05-19 21:55:16 1804
原创 循环队列及其基本操作
目录一、循环队列1.结构体的定义2.初始化3.判断队满4.判断队空5.入队(略有改动)6.出队(略有改动)7.打印循环队列8.完整代码9.运行结果展示三、总结一、循环队列1.结构体的定义typedef struct CircleIntQueue { int data[TOTAL_SPACE]; int head; int tail;}*CircleIntQueuePtr;2.初始化CircleIntQueuePtr initQueue() { CircleIntQueuePtr
2022-05-16 00:35:48 1683 1
原创 队列的链式和顺序存储及其相关操作
目录一、链式存储1.结构体的定义2.初始化3.入队4.出队5.打印元素6.完整代码7.运行结果二、顺序存储1.结构体的定义2.初始化3.判断队列是否已满4.判断队列是否为空5.入队6.1 出队:(法一)6.2 出队:(法二)7.获取队首元素8.获取队长9.打印10.清空队列11.完整代码12.测试结果三、总结一、链式存储1.结构体的定义typedef struct Queue_Node{ DataType data; Queue_Node* next;}*QueueNodePtr;type
2022-05-15 23:09:18 470
原创 递归的深入理解(经典应用汉诺塔、累加和阶乘)
目录一、累加(or阶乘)1.完整代码2.运行结果展示二、汉诺塔1.完整代码2.运行展示三、总结一、累加(or阶乘)1.完整代码#include <iostream>using namespace std;int accumulation(int n){ int sum = 0; if (n <= 0) { cout << "return 0" << endl; return 0; } else { sum = n +
2022-05-11 18:42:28 714 3
原创 表达式求值 (栈的经典应用)
目录1.完整代码2.测试结果三、总结1.完整代码#include <iostream>#include <unordered_map>#include <cstring>#include <stack>#include <stdio.h>using namespace std;/*定义全局栈*/stack<double> num;//数据栈stack<char> op;//运算符栈void a
2022-05-11 00:19:48 205
原创 括号匹配利用栈
目录一、括号匹配1.栈结构体2.栈的初始化3.压栈4.出栈5.核心算法--借助栈6.完整代码7.运行结果三、总结一、括号匹配1.栈结构体typedef struct CharStack{ int top; int data[MaxSize];}*CharStackPtr;用int类型,是把括号利用了强制转换2.栈的初始化CharStackPtr charStackInit() { CharStackPtr resultPtr = (CharStackPtr)malloc(sizeo
2022-05-09 16:38:33 641
原创 栈的链式存储和顺序存储的基本操作
目录一、闵版(顺序存储单指针)1.完整代码2.运行结果二、钦版(顺序存储双指针)1.栈的示意图2.结构体的创建3.栈的初始化4.压栈——元素入栈5.出栈(只能从后面依次出栈)6.获取栈顶元素7.栈中元素的个数8.判断是否为空9.判断是否为满10.摧毁栈11.完整代码12.运行结果三、钦版(链式存储)1.结构体的创建2.初始化栈3.元素压栈4.按任意位置压栈5.出栈6.获取栈顶元素7.获取栈长8.摧毁链栈9.完整代码10.运行结果一、闵版(顺序存储单指针)1.完整代码#include <stdio
2022-05-04 22:32:46 1181 2
原创 多项式的加法
目录一、多项式加法1.完整代码2.运行结果一、多项式加法1.完整代码#include <stdio.h>#include <iostream>using namespace std;typedef struct LinkNode{ int coefficient;//系数 int exponent;//指数 struct LinkNode *next;}*LinkList,*NodePtr;/*初始化*/LinkList initLinkList()
2022-05-04 20:12:09 436 1
原创 静态链表的基础操作(详解)
目录一、闵版1.完整代码2.运行结果二、钦版1.结构体的创建2.静态链表的初始化3.尾插法4.按值插入5.删除元素6.打印静态链表7.摧毁链表8.完整代码9.运行结果展示一、闵版1.完整代码#include <stdio.h>#include <malloc.h>#include <iostream>using namespace std;#define DEFAULT_SIZE 5typedef struct StaticLinkedNode{
2022-05-03 15:48:39 1385 2
原创 双向链表的相关操作
目录一、闵版(char类型)1.完整代码2.运行结果演示二、钦版(int 类型)1.结构体的创建2.初始化3.头插法4.尾插法5.指定位置插入6.统计元素个数7.双向打印8.按位置删除9.按值删除10.按值获取元素位置11.按位置获取元素值12.摧毁链表13.完整代码三、总结提示:以下是本篇文章正文内容,下面案例可供参考一、闵版(char类型)1.完整代码#include <iostream>#include <stdio.h>using namespace std;
2022-04-30 15:44:45 962 2
原创 单链表的相关操作
目录一、闵版(char类型)1.完整代码2.运行效果二、钦版(int 类型)0.链表的概念1.链表结构体创建2.初始化3.头插法4.尾插法5.指定位置插入6.指定值插入(多个同样元素取首个元素插入)7.指定位置获取数据8.按值获取元素位置9.删除结点10.打印链表11.摧毁链表12.完整代码总结提示:以下是本篇文章正文内容,下面案例可供参考一、闵版(char类型)1.完整代码#include <stdio.h>#include <iostream>using names
2022-04-27 21:01:24 2165 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人