C++
文章平均质量分 74
C plus plus ,寓意为C语言发展出新生命,自从有了C++,C语言便迎来了第二次生命,它锐意进取、不断创新,在嵌入式、游戏、服务端、语言等领域扮演重要角色。
恒宝乐园
好好工作,好好生活。
展开
-
力扣-104. 二叉树的最大深度-CPP
本文主要介绍了求解二叉树的深度时的解题思路原创 2021-12-28 20:00:00 · 374 阅读 · 0 评论 -
力扣-108. 将有序数组转换为二叉搜索树-CPP
本文主要介绍了在解生成二叉搜索树时的解题思路原创 2021-12-27 12:26:06 · 730 阅读 · 0 评论 -
力扣-876. 链表的中间结点-CPP
本文主要介绍了快慢指针的思考过程和要点原创 2021-12-21 20:00:00 · 395 阅读 · 0 评论 -
力扣-94. 二叉树的中序遍历-CPP
本文介绍了二叉树中序遍历问题的思考过程,捎带介绍了卫式语句的好处。原创 2021-12-21 19:00:00 · 368 阅读 · 0 评论 -
力扣-100. 相同的树-CPP
本文主要介绍了官方给出题解的两种思路,重点介绍了深度优先遍历中递归思想的实现思路,并给出一些思维上的技巧和规范,适合C++的新手阅读。原创 2021-12-19 11:13:58 · 475 阅读 · 0 评论 -
力扣-69. Sqrt(x)-CPP
本文介绍了解决开平方根问题时的三种常见思路,顺带阐述了其思考过程,逻辑难点。其实初学者掌握最基本的解题思路即可,反复遇见此题后,便会有更多思考。原创 2021-12-16 17:11:48 · 688 阅读 · 0 评论 -
力扣-13. 罗马数字转整数-CPP
罗马转数字的难点在于读题,题目中已经包含了解法的核心思想。有加也有减,判断出何时减就只剩下加的了。原创 2021-12-16 15:45:43 · 175 阅读 · 0 评论 -
力扣-12. 整数转罗马数字-CPP
本文主要讲述了C++里map的应用和一些需要注意的点,如果不需要使用map可以使用vector和pair,当然更推荐对象vector来解决一些遍历的问题。原创 2021-12-13 13:32:11 · 4418 阅读 · 0 评论 -
C++:如何获得一个数组的长度
这里用到了函数模板以适配多种情况#include<iostream>using namespace std;template<typename T>int count(T& x){ int s1 = sizeof(x); int s2 = sizeof(x[0]); int result = s1 / s2; return result;}int main(转载 2016-11-18 22:05:54 · 28015 阅读 · 0 评论 -
C++:动态创建删除二维数组
今天看《数据结构、算法与应用C++语言描述》(机械工业出版社)的时候看到的,但是书上是有错误的。#include<iostream>using namespace std;template<class T>bool make2dArray(T** &x, int numberOfRows, int numberOfColumns){ //创建一个一维数组 try {转载 2016-11-18 22:09:08 · 3457 阅读 · 0 评论 -
C++ 初始化列表
何谓初始化列表与其他函数不同,构造函数除了有名字,参数列表和函数体之外,还可以有初始化列表,初始化列表以冒号开头,后跟一系列以逗号分隔的初始化字段。在C++中,struct和class的唯一区别是默认的访问性不同,而这里我们不考虑访问性的问题,所以下面的代码都以struct来演示。struct foo{ string name ; int id ; foo(string s转载 2016-11-19 09:24:26 · 321 阅读 · 0 评论 -
区分代码与数据
假设编写有关日期的程序,要求程序输出月份的英文名称而非数字。初学者会犯下面这样的错误:string getMonthName(int month){if(month == 1) return "Janary";if(month == 2) return "February";...return "December";} 有了经验之后,大多数人会避免写这样的代码。因为与代码逻辑无关的数据应转载 2017-10-07 18:29:45 · 1332 阅读 · 0 评论 -
C++动态申请列数行数不确定的数组
今天在学习Sartaj Sahni写的《数据结构、算法与应用》一书中看到自己很喜欢的部分——动态申请行数列数不确定的数组。在C++中解决的方法其实很简单,我们需要把这个二维数组看成是若干行所组成的结构。什么意思呢?也就是说每一行都是动态的,然后把它们整合在一起不就是二维动态了么?所以,我们得到了如下的十分给力的设想: 那么,加上一些简单的异常捕获、空间释放,我们就可以得到一个适应性比较好的函数了,转载 2015-09-15 19:59:03 · 4109 阅读 · 0 评论 -
C++:基于LL(1)方法的语法分析程序-1
1、实验目的 设计、编制和调试一个典型的语法分析方法,进一步掌握常用的语法分析方法。 2、实验要求 (1) 根据LL(1)分析法编写一个语法分析程序,可根据自己实际情况,选择以下一项作为分析算法的输入: a.直接输入根据已知文法构造的分析表M; b.输入文法的FIRST(α)和FOLLOW(U)集合,由程序自动生成文法的分析表M; c.输入已知文法,由程序自动构造文法的分析表M。 (2原创 2015-12-05 16:08:38 · 4939 阅读 · 2 评论 -
VS2013:如何在Win32项目中设置标题栏名称
如果我们没有设置标题栏名称,会默认为我们工程的名字。比如像下面这样,当然,这样非常不友好。 所以,我们需要调整成自己所需要的名称,我们需要“打开该cpp配套的资源文件”,当然,打开方式有点特别: 然后我们在这个代码文件里面找到下面这些代码: /////////////////////////////////////////////////////////////////////////////原创 2016-05-10 08:32:22 · 3591 阅读 · 0 评论 -
Cocos2d-x Expression: child != nullptr
昨天在做小demo的时候无意间除了这个问题:Microsoft Visual C++ Runtime LibraryAssertion failed!Program: …ame\NodeTest\proj.win32\Debug.win32\libcocos2d.dll File: CCNode.cpp Line: 1107Expression: child != nullptrFor info原创 2015-09-04 09:19:42 · 4812 阅读 · 2 评论 -
C++:基于LL(1)方法的语法分析程序-3
前面两次我们完成了对于固定的文法进行分析和从txt文件中生成预测分析表。下面我们改动第一次文件中本来应该可变的部分。首先,我们修改关于分析表的一些函数,例如寻找产生式、寻找终结符的索引……然后我们进行一些优化,认为分析栈顶元素和剩余串时只有匹配和不匹配进行推导两种情况,并分别处理。最后,对于多于一个字符的非终结符进行处理。#include"FileExchanger.h"#include<stac原创 2015-12-05 21:16:18 · 3003 阅读 · 0 评论 -
C++:基于LL(1)方法的语法分析程序-2
我们做如下对于文法文件的规定:第一行内容为终结符第二行内容为 非终结符第三行起,按照非终结符、终结符的声明顺序填入规则右部我们用我们刚才的例子做一个TXT 下面我们用文件转换类来进行转换,思路比较清晰,只是需要注意行号和换行的判断。下面是类文件#include <fstream>#include <string>#include <iostream>using namespace s原创 2015-12-05 21:06:10 · 3540 阅读 · 0 评论 -
C++:词法分析
词法分析的思路比较简单,先判断是字母还是数字,如果是字母,那么开始判断是关键字还是标识符。如果是其它的分隔符之类的,进行处理即可,我写的分析程序十分简单,大神可以略过哦。#include<iostream>#include<fstream>#include<string>#include<ctype.h>//用来判断变量类型using namespace std;ifstream heng原创 2015-12-05 21:30:40 · 3369 阅读 · 2 评论