xinhaojin's blog
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

二叉树的遍历(前序、中序、后序)*(递归、非递归)共6种

二叉树结构定义1234567891011121314151617struct Node{ int data=0; Node* parent=NULL; Node* lchild=NULL; Node* rchild=NULL; Node(int n) { data=n; }};class BinaryS
2020-09-19
c++
#数据结构 #二叉树

VSCode C++断点调试配置

之前一直使用VS2019调试c++程序,但是平时写得比较多的单个cpp文件也需要建一个VS项目给人的感觉有些冗杂,接触了VSCode之后就被它的轻量和高扩展性吸引了,是时候把断点调试功能也配置好,尽量不用VS2019了。 在这之前需要安装好MinGW,配置好环境变量。 然后安装这个插件 CodeLLDB 打开空文件夹,新建cpp文件,可以先设置好断点 点击创建launch.json文件,选择C
2020-09-18
软件安装配置
#软件安装配置 #c++

递归应用:汉诺塔、数制转换

汉诺塔如下图所示,从左到右有A、B、C三根柱子,其中A柱子上面有从小叠到大的n个圆盘,现要求将A柱子上的圆盘移到C柱子上去,期间只有一个原则:一次只能移到一个盘子且大盘子不能在小盘子上面,求移动的步骤和移动的次数 n == 1       第1次  1号盘  A—->C       sum = 1 n == 2              第
2020-09-18
c++
#数据结构 #c++ #递归

递归的基本概念

什么是递归?递归就是自己调用自己,引用一个经典故事理解: 从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?“从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?‘从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?……’” 故事调用故事本身,层次越来越深…… 使用递归的条件1.问题本身可以分解为子问题,并且与原问题有相同的
2020-09-18
c++
#递归

双向链表简单示例

双向链表与双向链表相比,每个元素都有两个指针分别指向前后两个元素,这意味着双向链表可以双向遍历。 简单例子如下 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767
2020-09-18
c++
#数据结构 #链表 #c++

中缀表达式转后缀表达式

从左向右扫描中缀表达式;访问到操作数,加人后缀表达式;访问到左括号“(“,立即入栈;访问到右括号“)”,栈中操作符依次出栈并加入后缀表达式,直到出现左括号“(”,“(”出栈;访问到除括号之外的其他操作符,当其优先级比栈顶除“(”之外的操作符高时入栈,否则比当前操作符优先级高或者优先级相等的操作符依次出栈。 使用一种不需要括号的表达式的图形表示法,称为表达式树。树使用圆圈代表存储数据的节点,这些节点
2020-09-17
数据结构
#数据结构

栈和队列

1. 栈的简介1.1栈的特点栈(Stack)是一种线性存储结构,它具有如下特点: 栈中的数据元素遵守”先进后出”(First In Last Out)的原则,简称FILO结构。 限定只能在栈顶进行插入和删除操作。 1.2栈的相关概念栈的相关概念: 栈顶与栈底:允许元素插入与删除的一端称为栈顶,另一端称为栈底。 压栈:栈的插入操作,叫做进栈,也称压栈、入栈。 弹栈:栈的删除操作,也叫做出栈。
2020-09-17
数据结构
#数据结构

完整功能单链表

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210
2020-09-17
c++
#数据结构 #链表 #c++

c++使用new和delete来创建和释放动态数组

一、创建并释放一维数组12345678910111213141516171819#include<iostream>using namespace std;int main(){ int n; cin>>n; //分配动态一维数组 int *arr=new int[n]; for(int i=0;i<n;i++)
2020-09-17
c++
#数据结构 #c++

数据结构的基本概念

1.逻辑结构逻辑结构分为四种类型:集合结构,线性结构,树形结构,图形结构。 集合结构数据元素同属一个集合,单个数据元素之间没有任何关系。 线性结构数据元素间是线性排列关系。一对一。 树形结构树形结构中的数据元素所组成图形类似于树状图。一对多。 图形结构数据元素之间是多对多的关系。 2.物理结构(存储结构)物理结构又叫存储结构,分为四种种,顺序存储结构、链式存储结构、索引结构、散列结构。 顺
2020-09-17
数据结构
#数据结构
1…1617181920

搜索

总访问量 次 总访客数 次