<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[luoyeliufeng的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/luoyeliufeng</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; luoyeliufeng]]></copyright><item><title><![CDATA[DFS非递归]]></title><link>https://blog.youkuaiyun.com/luoyeliufeng/article/details/114550102</link><guid>https://blog.youkuaiyun.com/luoyeliufeng/article/details/114550102</guid><author>luoyeliufeng</author><pubDate>Mon, 08 Mar 2021 21:11:59 +0800</pubDate><description><![CDATA[参考题目
https://blog.youkuaiyun.com/luoyeliufeng/article/details/103637935
代码
#include &lt;iostream&gt;
#include &lt;stack&gt;
using namespace std;

class Graph
{
    int **matrix;
    int vexNum;
    bool *visited;
    void DFS(int v);
public:
    Graph(){
       ]]></description><category></category></item><item><title><![CDATA[二叉树之非递归遍历]]></title><link>https://blog.youkuaiyun.com/luoyeliufeng/article/details/114536155</link><guid>https://blog.youkuaiyun.com/luoyeliufeng/article/details/114536155</guid><author>luoyeliufeng</author><pubDate>Mon, 08 Mar 2021 16:53:46 +0800</pubDate><description><![CDATA[参考题目
https://blog.youkuaiyun.com/luoyeliufeng/article/details/103592211
首先要明白二叉树的三种遍历方式

先序遍历：先访问根节点，再访问左子树，最后访问右子树
中序遍历：先访问左子树，再访问根节点，最后访问右子树
后序遍历：先访问左子树，再访问右子树，最后访问根节点

一个重要的思想：二叉树中的每一个节点都可以看作是一棵树的根节点
对于非递归遍历，需要借助循环和栈来实现
参考代码：
#include &lt;iostream&gt;
#includ]]></description><category></category></item><item><title><![CDATA[LeetCode--连通网络的操作次数]]></title><link>https://blog.youkuaiyun.com/luoyeliufeng/article/details/113064596</link><guid>https://blog.youkuaiyun.com/luoyeliufeng/article/details/113064596</guid><author>luoyeliufeng</author><pubDate>Sat, 23 Jan 2021 23:43:57 +0800</pubDate><description><![CDATA[用以太网线缆将 n 台计算机连接成一个网络，计算机的编号从 0 到 n-1。线缆用 connections 表示，其中 connections[i] = [a, b] 连接了计算机 a 和 b。
网络中的任何一台计算机都可以通过网络直接或者间接访问同一个网络中其他任意一台计算机。
给你这个计算机网络的初始布线 connections，你可以拔开任意两台直连计算机之间的线缆，并用它连接一对未直连的计算机。请你计算并返回使所有计算机都连通所需的最少操作次数。如果不可能，则返回 -1 。
示例 1：


输入：n]]></description><category></category></item><item><title><![CDATA[LeetCode--数组形式的简单加法]]></title><link>https://blog.youkuaiyun.com/luoyeliufeng/article/details/112978300</link><guid>https://blog.youkuaiyun.com/luoyeliufeng/article/details/112978300</guid><author>luoyeliufeng</author><pubDate>Fri, 22 Jan 2021 10:14:38 +0800</pubDate><description><![CDATA[对于非负整数 X 而言，X 的数组形式是每位数字按从左到右的顺序形成的数组。例如，如果 X = 1231，那么其数组形式为 [1,2,3,1]。
给定非负整数 X 的数组形式 A，返回整数 X+K 的数组形式。
示例 1：

输入：A = [1,2,0,0], K = 34
输出：[1,2,3,4]
解释：1200 + 34 = 1234

示例 2：

输入：A = [2,7,4], K = 181
输出：[4,5,5]
解释：274 + 181 = 455

示例 3：

输入：A = [2,1,5],]]></description><category></category></item><item><title><![CDATA[c++之模板]]></title><link>https://blog.youkuaiyun.com/luoyeliufeng/article/details/106895883</link><guid>https://blog.youkuaiyun.com/luoyeliufeng/article/details/106895883</guid><author>luoyeliufeng</author><pubDate>Mon, 22 Jun 2020 10:10:17 +0800</pubDate><description><![CDATA[什么是模板
模板就是样板。在这里我举一个例子，数组
数组可以是int，可以是double，可以是long等
模板的本质就是把数据类型参数化，体现了面向对象的多态性
函数模板和模板函数
函数模板表示的是对不同数据类型数据进行相同处理的一类函数
模板函数就是讲函数模板实例化生成的具体函数
格式
template &lt;class 模板形参1，class模板形参2，...&gt;
返回类型 函数名(参数表)
{
	函数体
}

举例:表明两个相同数据类型比较大小返回大的元素
template&lt;class ]]></description><category></category></item><item><title><![CDATA[c++之运算符重载]]></title><link>https://blog.youkuaiyun.com/luoyeliufeng/article/details/106886473</link><guid>https://blog.youkuaiyun.com/luoyeliufeng/article/details/106886473</guid><author>luoyeliufeng</author><pubDate>Sun, 21 Jun 2020 23:56:03 +0800</pubDate><description><![CDATA[什么是运算符重载
运算符重载类似函数重载是为已有的运算符定义新的运算功能，体现了多态性。
举个例子
“+”的基本功能是实现整数相加和实数相加
通过运算符重载我们可以对他的功能进行扩充，我们之前用的string类中就是如此
string a=“123’,b=“456”,c;
则 c=a+b;
c就为"123456”
这里"+"被重载为两个字符串拼接
实现运算符重载功能的函数称为于是暖夫重载函数，格式为
返回类型 operator 运算符符号(参数说明);
运算符重载的两种形式
用成员函数实现运算符重载
举例子]]></description><category></category></item><item><title><![CDATA[c++之输入输出流]]></title><link>https://blog.youkuaiyun.com/luoyeliufeng/article/details/106882790</link><guid>https://blog.youkuaiyun.com/luoyeliufeng/article/details/106882790</guid><author>luoyeliufeng</author><pubDate>Sun, 21 Jun 2020 12:40:14 +0800</pubDate><description><![CDATA[c++流的概念

流是有向数据流动的描述，指数据流动的物理通道和方向。在C++中数据的输入输出是以字节为单位，以字节流的形式实现。
数据从输入设备流向内存称为输入流，数据从内存流向输出设备称为输出流
c++中的输入输出流的处理功能组织成下图流类库


流类库

istream类，标准输入流，支持流输入操作
ostream类，标准输出流，支持流输出操作
iostream类，通过多重继承从istream和ostream类派生而来，同时支持流输入和流输出
ifstream类支持文件流输入操作
ofstream类支]]></description><category></category></item><item><title><![CDATA[小球进蓝洞（运算符重载）]]></title><link>https://blog.youkuaiyun.com/luoyeliufeng/article/details/106781864</link><guid>https://blog.youkuaiyun.com/luoyeliufeng/article/details/106781864</guid><author>luoyeliufeng</author><pubDate>Sat, 20 Jun 2020 13:51:43 +0800</pubDate><description><![CDATA[小球进蓝洞（运算符重载）
题目描述
小球进蓝洞游戏是指在n*m（n,m取值在2到10之间）的方阵中，设置红洞、蓝洞和若干绿色三角形块，调整绿色三角形块，使小球从红洞洞口方向出发，经三角形块斜边反射，不断改变前行方向，最终从蓝洞洞口方向进入蓝洞。例如:下图左图的初始游戏布局中，调整三角形块如右图所示，小球将沿蓝色虚线进入蓝洞。

红洞，蓝洞洞口位于方块的右、上、左、下四个方位之一，分别用数字0、1、2、3表示。例如：上图红洞洞口在方块的右边，用0表示。蓝洞洞口在方块的下方，用3表示。
单击三角形块可调整其方向]]></description><category></category></item><item><title><![CDATA[c++之虚继承(多重继承的问题)]]></title><link>https://blog.youkuaiyun.com/luoyeliufeng/article/details/106729051</link><guid>https://blog.youkuaiyun.com/luoyeliufeng/article/details/106729051</guid><author>luoyeliufeng</author><pubDate>Sat, 13 Jun 2020 13:56:11 +0800</pubDate><description><![CDATA[导引：多重继承和多继承
什么是多重继承：如图

什么是多继承：如图

继承中的特殊结构

菱形继承结构带来的问题，D会有两个A中的数据成员
class A
{
public:
	int a;
};
class B:public A
{
public:
	int b;
};
class C:public A
{
public:
	int c;
};
class D:public B,public C
{
public:
	int d;
};

D中会有两个a一个是从B继承的，一个是从C继承的
出现这样的问题，]]></description><category></category></item><item><title><![CDATA[c++之虚函数]]></title><link>https://blog.youkuaiyun.com/luoyeliufeng/article/details/106713745</link><guid>https://blog.youkuaiyun.com/luoyeliufeng/article/details/106713745</guid><author>luoyeliufeng</author><pubDate>Fri, 12 Jun 2020 21:06:32 +0800</pubDate><description><![CDATA[一、静态联编与动态联编
静态联编也叫做早绑定，函数名与其在内存中的可执行代码之间的对应关系在编译时就已经确定了
动态联编也叫做晚绑定，是之成员函数的调用语句在编译时不知道要执行哪个内存地址的代码。成员函数的调用会根据目标对象的动态类型在程序运行时将函数名绑定到具体的函数上
静态联编举例
class Shape
{
public:
	double calculateArea(){
		cout&lt;&lt;"caculateArea"&lt;&lt;endl;
		return 0;
	}
};
class]]></description><category></category></item><item><title><![CDATA[大整数计算（运算符重载）]]></title><link>https://blog.youkuaiyun.com/luoyeliufeng/article/details/106648190</link><guid>https://blog.youkuaiyun.com/luoyeliufeng/article/details/106648190</guid><author>luoyeliufeng</author><pubDate>Tue, 09 Jun 2020 18:23:47 +0800</pubDate><description><![CDATA[大整数计算（运算符重载）
题目描述
定义大整数类CBigInteger（假设最长支持1000位），数据成员为一个字符指针。成员函数或友元函数包括：
1）带参构造函数，为字符指针动态分配1001个字符空间。根据参数初始化大整数。
2)  无参构造函数，为字符指针动态分配1001个字符空间。
3）重载运算符+，实现两个大整数的加法。
4）重载运算符-，实现两个大整数的减法。
5）重载运算符*，实现两个大整数的乘法。6）重载输入，输入大整数。
7）重载输出，输出大整数。
8）析构函数，释放分配的空间。该函数不可屏]]></description><category></category></item><item><title><![CDATA[c++之继承中的特殊关系]]></title><link>https://blog.youkuaiyun.com/luoyeliufeng/article/details/106523710</link><guid>https://blog.youkuaiyun.com/luoyeliufeng/article/details/106523710</guid><author>luoyeliufeng</author><pubDate>Wed, 03 Jun 2020 19:28:41 +0800</pubDate><description><![CDATA[一、隐藏
如果基类和派生类中有同名的数据成员或者成员函数，在实例化派生类对象，调用该方法将会调用派生类的方法，而基类的方法虽然被继承但是看起来被隐藏一样
举例：
class People
{
public:
	void eat(){cout&lt;&lt;"吃饭"&lt;&lt;endl;}
};

class Student:public People
{
public:
	void eat(){cout&lt;&lt;"吃学校的饭菜"&lt;&lt;endl;}
};

当我们实例化一个Student对]]></description><category></category></item><item><title><![CDATA[c++之友元函数和友元类]]></title><link>https://blog.youkuaiyun.com/luoyeliufeng/article/details/106047845</link><guid>https://blog.youkuaiyun.com/luoyeliufeng/article/details/106047845</guid><author>luoyeliufeng</author><pubDate>Mon, 11 May 2020 16:22:56 +0800</pubDate><description><![CDATA[什么是友元？
友元就是朋友，c++中为了方便访问某个类的私有成员，引入了友元的概念
友元用 “friend” 定义
友元函数
友元函数分为两种

友元全局函数
友元成员函数

友元全局函数
class Coordinate
{
	friend void printXY(Coordinate &amp;c);
publuc:
	Coordinate(int x,int y){...}//这里省略赋值内容
private:
	int x;
	int y;
};
//全局定义
void printXY(Coord]]></description><category></category></item><item><title><![CDATA[c++之静态数据成员与静态成员函数]]></title><link>https://blog.youkuaiyun.com/luoyeliufeng/article/details/106046728</link><guid>https://blog.youkuaiyun.com/luoyeliufeng/article/details/106046728</guid><author>luoyeliufeng</author><pubDate>Mon, 11 May 2020 09:28:20 +0800</pubDate><description><![CDATA[什么是静态数据成员？
数据成员我们之前学过，是对象的属性。
同一个类，不同的对象，可能拥有不同的属性
例如一个车行，不同的车有不同的颜色，不同的耗油量。。。等等属性
但是当我们统计一个公有的数据，用数据成员有点麻烦
比如每一辆Car，里面有一个数据成员CarNum，记录了车行的总车数，
如果每一个对象，都分别带着CarNum这个数据成员，会有些不方便。
为此，我们需要一个类公有的数据成员，就是静态数据成员
每个对象与静态数据成员关系如下图

静态数据成员的定义以及初始化
静态数据成员用关键字 “static]]></description><category></category></item><item><title><![CDATA[电话号码升位(拷贝构造函数)]]></title><link>https://blog.youkuaiyun.com/luoyeliufeng/article/details/105642682</link><guid>https://blog.youkuaiyun.com/luoyeliufeng/article/details/105642682</guid><author>luoyeliufeng</author><pubDate>Mon, 20 Apr 2020 19:40:56 +0800</pubDate><description><![CDATA[电话号码升位(拷贝构造函数)
题目描述

定义一个电话号码类CTelNumber,包含1个字符指针数据成员,以及构造、析
构、打印及拷贝构造函数。
字符指针是用于动态创建一个字符数组，然后保存外来输入的电话号码
构造函数的功能是为对象设置键盘输入的7位电话号码，
拷贝构造函数的功能是用原来7位号码的对象升位为8位号码对象,也就是说拷贝构造的对象是源对象的升级.电话升位的规则是原2、3、4开头的电话...]]></description><category></category></item><item><title><![CDATA[任意鸡任意钱问题(构造与析构)]]></title><link>https://blog.youkuaiyun.com/luoyeliufeng/article/details/105642606</link><guid>https://blog.youkuaiyun.com/luoyeliufeng/article/details/105642606</guid><author>luoyeliufeng</author><pubDate>Mon, 20 Apr 2020 19:34:47 +0800</pubDate><description><![CDATA[任意鸡任意钱问题(构造与析构)
题目描述

百鸡百钱问题描述为：用100元钱买100只鸡，已知每只公鸡5元，每只母鸡3元，3只小鸡1元，问能买多少只公鸡、母鸡和小鸡？试将该类问题用一个类来表示，百鸡百钱问题只是这个类如CChickProblem的一个实例，假设各种鸡的价格不变,类中数据成员有总钱数、要买的总的鸡数、能买到的母鸡、小鸡和公鸡的数量。成员函数有构造和析构函数，求问题解的函数findSo...]]></description><category></category></item><item><title><![CDATA[线段相交----结构体]]></title><link>https://blog.youkuaiyun.com/luoyeliufeng/article/details/105208160</link><guid>https://blog.youkuaiyun.com/luoyeliufeng/article/details/105208160</guid><author>luoyeliufeng</author><pubDate>Mon, 30 Mar 2020 20:51:50 +0800</pubDate><description><![CDATA[线段相交----结构体
题目描述
每个线段是用平面上的两个点来描述，用结构体实现对于任意输入的2个线段，判断其是否相交。
提示：两点(x1,y1), (x2,y2) 间直线斜率是k=(y2-y1)/(x2-x1).
输入
判断次数和2条线段的x1、y1、x2、y2
输出
是否相交
样例输入

3
1 5 2 9
1 3 2 4
5 6 7 8
5 7 7 7
2 5 1 0
9 4 2 9

样例...]]></description><category></category></item><item><title><![CDATA[c++之继承]]></title><link>https://blog.youkuaiyun.com/luoyeliufeng/article/details/105191803</link><guid>https://blog.youkuaiyun.com/luoyeliufeng/article/details/105191803</guid><author>luoyeliufeng</author><pubDate>Mon, 30 Mar 2020 14:47:45 +0800</pubDate><description><![CDATA[什么是继承
我们还是举例王者荣耀的例子，之前在类和对象那篇文章我们说，王者荣耀中英雄的属性就是数据成员，英雄的技能就是成员函数
下面为亚瑟这个英雄的类
class Yase
{
	//属性
	int hp;//生命
	int wg;//物攻
	int fq;//法强
	int wk;//物抗
	int fk;//法抗
	int mj;//敏捷
	//方法 //方法就是一个函数，让这个函数执行一些操...]]></description><category></category></item><item><title><![CDATA[分数四则运算(结构)]]></title><link>https://blog.youkuaiyun.com/luoyeliufeng/article/details/105058443</link><guid>https://blog.youkuaiyun.com/luoyeliufeng/article/details/105058443</guid><author>luoyeliufeng</author><pubDate>Mon, 23 Mar 2020 21:36:43 +0800</pubDate><description><![CDATA[分数四则运算(结构)
题目描述
分数的分子和分母可用一个结构类型来表示。
编写实现两个分数加(addFS)，减(subFS)，乘(mulFS)，除(divFS)的函数(要求计算结果分数是简化的)，以及打印一个分数(printFS)，计算两个整数最大公约数的函数(getGCD)。
注意：不能定义全局变量
输入

测试数据的组数 t
第一组第一个分数
第一组第二个分数
第二组第一个分数
第二组第二个分...]]></description><category></category></item><item><title><![CDATA[抄袭查找（结构体+指针+函数）]]></title><link>https://blog.youkuaiyun.com/luoyeliufeng/article/details/105058390</link><guid>https://blog.youkuaiyun.com/luoyeliufeng/article/details/105058390</guid><author>luoyeliufeng</author><pubDate>Mon, 23 Mar 2020 21:34:38 +0800</pubDate><description><![CDATA[抄袭查找（结构体+指针+函数）
题目描述
已知一群学生的考试试卷，要求对试卷内容进行对比，查找是否有抄袭。
每张试卷包含：学号（整数类型）、题目1答案（字符串类型）、题目2答案（字符串类型）、题目3答案（字符串类型）
要求：使用结构体来存储试卷的信息。定义一个函数，返回值为一个整数，参数是两个结构体指针，函数操作是比较两张试卷的每道题目的答案，如果相同题号的答案相似度超过90%，那么就认为有抄袭，...]]></description><category></category></item></channel></rss>