<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_40788950的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_40788950</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_40788950]]></copyright><item><title><![CDATA[单链表的构造和反转]]></title><link>https://blog.youkuaiyun.com/qq_40788950/article/details/108568936</link><guid>https://blog.youkuaiyun.com/qq_40788950/article/details/108568936</guid><author>qq_40788950</author><pubDate>Sun, 13 Sep 2020 21:56:45 +0800</pubDate><description><![CDATA[单链表构造（头结点存放数据信息）和链表反转头插法构造单链表（为了存入1-&gt;2-&gt;3-&gt;4-&gt;5的链表，需要按照1,5,4,3,2的顺序进行输入，即不考虑头结点的话是逆序的）尾插法构造单链表（为了存入1-&gt;2-&gt;3-&gt;4-&gt;5的链表，需要按照1,2,3,4,5的顺序进行输入）链表反转原地反转开辟新空间
头插法构造单链表（为了存入1-&gt;2-&gt;3-&gt;4-&gt;5的链表，需要按照1,5,4,3,2的顺序进行输入，即不考虑头结点的话是逆序的）
#in]]></description><category></category></item><item><title><![CDATA[LDD3中第一个程序MAKEFILE的学习]]></title><link>https://blog.youkuaiyun.com/qq_40788950/article/details/107146540</link><guid>https://blog.youkuaiyun.com/qq_40788950/article/details/107146540</guid><author>qq_40788950</author><pubDate>Tue, 07 Jul 2020 23:03:52 +0800</pubDate><description><![CDATA[MAKEFILE分析MAKEFILE全部内容执行过程分析？=符号讲解
MAKEFILE全部内容
#DEBUG = y

ifeq ($(DEBUG),y)
	DEBFLGAS = -O -g -DSCULL_DEBUG
else 
	DEBFLAGS = -O2
endif

CFLAGS += $(DEBFLAGS)
CFLAGS += -I$(LDDINC)

ifneq ($(KERNELRELEASE),)
scull-objs := main.o pipe.o access.o
obj-m := ]]></description><category></category></item><item><title><![CDATA[MATLAB中多个if-elseif-else语句分支同时使用的逻辑关系]]></title><link>https://blog.youkuaiyun.com/qq_40788950/article/details/107095765</link><guid>https://blog.youkuaiyun.com/qq_40788950/article/details/107095765</guid><author>qq_40788950</author><pubDate>Thu, 02 Jul 2020 23:46:34 +0800</pubDate><description><![CDATA[最近看雷达的恒虚警检测GO-FAR算法，在两个if-elseif-else 语句中迷失了。
大致结构如下：
if A
	process1
elseif B
	process2
else 
	process3
end
if C 
	process4
elseif D
	process5
else 
	process6
end	
	

在这里A和C是相反的条件，之前以为如果满足条件A，那么就执行process1，那么必然不满足C，也就不会执行process4,5,6。但是实际上当满足条件A，执行process1]]></description><category></category></item><item><title><![CDATA[二维vector数组初始化方法]]></title><link>https://blog.youkuaiyun.com/qq_40788950/article/details/105521825</link><guid>https://blog.youkuaiyun.com/qq_40788950/article/details/105521825</guid><author>qq_40788950</author><pubDate>Tue, 14 Apr 2020 21:42:11 +0800</pubDate><description><![CDATA[在用devcpp编译程序时发现，二维vector数组如果只定义的话，不指定元素个数也不进行初始化的时候会导致编译出错。
通常情况下，可以只提供vector对象容纳的元素数量而略去初始值。此时库会创建一个值初始化的元素初值，并把它赋给容器中的所有元素。这个初值由vector对象中元素的类型决定。
二维数组初始化方法目前有以下两种：
第一种初始化方法（以元素类型为int为例）
初始化为1：
`vect...]]></description><category></category></item><item><title><![CDATA[透过全排列问题分析for循环递归的过程]]></title><link>https://blog.youkuaiyun.com/qq_40788950/article/details/105513891</link><guid>https://blog.youkuaiyun.com/qq_40788950/article/details/105513891</guid><author>qq_40788950</author><pubDate>Tue, 14 Apr 2020 15:55:08 +0800</pubDate><description><![CDATA[全排列问题问题描述程序递归过程分析
问题描述
全排列：元素的所有可能的排列。例如：由a,b,c三个字母的全排列为abc,acb,bac,bca,cab,cba六个排列
程序
#include &lt;iostream&gt;
using namespace std;
void swap(char &amp;a, char &amp;b)
{
	char tmp = a;
	a = b;
	b = ...]]></description><category></category></item><item><title><![CDATA[左神贪心问题，递归，动态规划学习（C++）]]></title><link>https://blog.youkuaiyun.com/qq_40788950/article/details/105501400</link><guid>https://blog.youkuaiyun.com/qq_40788950/article/details/105501400</guid><author>qq_40788950</author><pubDate>Tue, 14 Apr 2020 00:21:16 +0800</pubDate><description><![CDATA[参考：左 . 算法— 前缀树/贪心策略/递归/ 动态规划专题
题目总结贪心问题程序利润最大化问题程序有限时间会议宣讲最多程序
贪心问题
一块金条切成两半，是需要花费和长度数值一样的铜板的。比如长度为20的 金条，不管切成长度多大的两半，都要花费20个铜板。一群人想整分整块金条，怎么分最省铜板？
例如，给定数组{10,20,30}，代表一共三个人，整块金条长度为10+20+30=60. 金条要分成1...]]></description><category></category></item><item><title><![CDATA[二维vector数组排序问题]]></title><link>https://blog.youkuaiyun.com/qq_40788950/article/details/105500049</link><guid>https://blog.youkuaiyun.com/qq_40788950/article/details/105500049</guid><author>qq_40788950</author><pubDate>Mon, 13 Apr 2020 23:08:48 +0800</pubDate><description><![CDATA[参考：使用vector创建二维动态数组，并使用sort对其进行排序
程序首先构建二维vector数组viA，然后对其进行打印，之后，按照不同的方式对其进行排序。
程序如下：
#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;stdlib.h&gt;
#include &lt;algorithm&gt;
using name...]]></description><category></category></item><item><title><![CDATA[Linux设备驱动程序学习1-环境搭建和第三章学习]]></title><link>https://blog.youkuaiyun.com/qq_40788950/article/details/105428178</link><guid>https://blog.youkuaiyun.com/qq_40788950/article/details/105428178</guid><author>qq_40788950</author><pubDate>Sun, 12 Apr 2020 15:32:26 +0800</pubDate><description><![CDATA[在这里是按照百度里面“小爱程序员”的相关文章进行环境搭建，搭建完成之后运行第三章中scull程序，没有问题。
环境搭建系列文章：
linux设备驱动程序(LDD3)环境搭建1 - vmware虚拟机设置
linux设备驱动程序(LDD3)环境搭建2 - Ubuntu5.04的安装
linux设备驱动程序(LDD3)环境搭建3 - linux2.6.10的编译
linux设备驱动程序(LDD3)环境...]]></description><category></category></item><item><title><![CDATA[C++中多态与虚拟函数的学习]]></title><link>https://blog.youkuaiyun.com/qq_40788950/article/details/105056367</link><guid>https://blog.youkuaiyun.com/qq_40788950/article/details/105056367</guid><author>qq_40788950</author><pubDate>Mon, 23 Mar 2020 20:44:23 +0800</pubDate><description><![CDATA[本文内容摘录自：从零开始学C++程序设计，仅作为入门使用
如果基类指针指向派生类的对象之后再调用其成员函数，结果仍然是调用到基类的成员函数。
可以通过下面的程序看出来：
#include &lt;iostream&gt;
using namespace std;
class vehicle {
	public:
		void start(){
			cout&lt;&lt;"交通运输工具启动"&l...]]></description><category></category></item><item><title><![CDATA[C++中this指针学习]]></title><link>https://blog.youkuaiyun.com/qq_40788950/article/details/105055409</link><guid>https://blog.youkuaiyun.com/qq_40788950/article/details/105055409</guid><author>qq_40788950</author><pubDate>Mon, 23 Mar 2020 19:13:17 +0800</pubDate><description><![CDATA[本文内容摘录自：从零开始学C++程序设计，仅作为入门使用。
在创建类的对象的同时，对象会自动创建属于它自己的指针，在引用时可以用“this”指令来表示，this指针为指向对象本身的指针，指向内存中存储该对象的地址。
通过this指针可以存取到该类的数据成员和成员函数，语法如下所示：

this-&gt;数据成员
（*this）.数据成员

范例程序用于示范当函数返回值为类对象时的方法。
#incl...]]></description><category></category></item><item><title><![CDATA[C++构造函数与析构函数学习]]></title><link>https://blog.youkuaiyun.com/qq_40788950/article/details/105053465</link><guid>https://blog.youkuaiyun.com/qq_40788950/article/details/105053465</guid><author>qq_40788950</author><pubDate>Mon, 23 Mar 2020 18:07:29 +0800</pubDate><description><![CDATA[本文内容摘录自：从零开始学C++程序设计，仅作为入门使用。
构造函数可以用于对象初始化的工作。
也就是在声明对象后希望能设置对象中数据成员的初值，可以使用构造函数来声明。
析构函数用于在对象生命周期结束时释放对象所占用的内存空间。
构造函数具有以下四个特性：

构造函数的名称必须与类名称相同
不需要指定返回类型，没有返回值
当对象被创建时自动产生默认的构造函数，默认的构造函数不提供参数行
构造函数...]]></description><category></category></item><item><title><![CDATA[C++模板功能学习]]></title><link>https://blog.youkuaiyun.com/qq_40788950/article/details/105045167</link><guid>https://blog.youkuaiyun.com/qq_40788950/article/details/105045167</guid><author>qq_40788950</author><pubDate>Mon, 23 Mar 2020 15:22:09 +0800</pubDate><description><![CDATA[本文内容摘录自：从零开始学C++程序设计，仅作为入门使用
函数模板
函数模板把具有相同程序代码的函数集中写成一个函数，并且把各个函数不同数据类型的部分改以模板形式参数来替代，即可通过传递不同的数据类型的参数来创建实例函数。函数模板的声明格式与说明如下：

template &lt;class 模板形式参数1， class 模板形式参数2，…&gt;
返回数据类型 函数名称（参数1， 参数2， …）...]]></description><category></category></item><item><title><![CDATA[无序数组排序后相邻两数的最大差值（不能用计数排序）]]></title><link>https://blog.youkuaiyun.com/qq_40788950/article/details/104982336</link><guid>https://blog.youkuaiyun.com/qq_40788950/article/details/104982336</guid><author>qq_40788950</author><pubDate>Fri, 20 Mar 2020 10:45:24 +0800</pubDate><description><![CDATA[给你ｎ个任意整数，求排序后相邻两个数之间的最大差值，这里n可能有10^5，整数为任意32位整型。要求求解算法的时间复杂度为O(n)。
思路描述参考：求无序数组排序后相邻俩数最大差值
代码C++描述如下：
#include &lt;iostream&gt;
using namespace std;
int max(int x, int y) 
{
	int z = x &gt; y ? x : y;...]]></description><category></category></item><item><title><![CDATA[堆排序的非递归方法]]></title><link>https://blog.youkuaiyun.com/qq_40788950/article/details/104960324</link><guid>https://blog.youkuaiyun.com/qq_40788950/article/details/104960324</guid><author>qq_40788950</author><pubDate>Thu, 19 Mar 2020 12:25:33 +0800</pubDate><description><![CDATA[堆是一种完全二叉树，第i个节点的左孩子是2 * i + 1，右孩子是 2 * i + 2，可以通过子节点求父节点：（i - 1)/ 2 。不管是左孩子还是右孩子都可以通过这种方式求的其父节点。对于一个数组，可以先将数组中的元素构建为一个大根堆，这样数组中的第一个数就是最大的值，将这个数与最后一个位置上的数进行交换，最后一个数就是最大值了，之后考虑对去掉这个元素的数组重新调整为一个大根堆，再将这个数...]]></description><category></category></item><item><title><![CDATA[快速排序的递归解法（C++实现）]]></title><link>https://blog.youkuaiyun.com/qq_40788950/article/details/104896509</link><guid>https://blog.youkuaiyun.com/qq_40788950/article/details/104896509</guid><author>qq_40788950</author><pubDate>Mon, 16 Mar 2020 20:38:30 +0800</pubDate><description><![CDATA[快速的排序在这里讨论两种常规解法和一种考虑数组中有相同值情况时的简便解法。
首先来看常规解法一：
参考快速排序—(面试碰到过好几次)。
如下图所示，假设要给由4个元素7,13,5,9组成的数组进行排序。最开始的基准数据为数组第一个元素7。首先用一个临时变量tmp来存储基准数据，然后分别从数组的两端扫描整个数组，设两个指示标志：L指向左边的起始位置，R指向右边的末尾位置。

首先，从末尾位置开始，如...]]></description><category></category></item><item><title><![CDATA[指针、数组与字符串知识点整理]]></title><link>https://blog.youkuaiyun.com/qq_40788950/article/details/104865842</link><guid>https://blog.youkuaiyun.com/qq_40788950/article/details/104865842</guid><author>qq_40788950</author><pubDate>Sun, 15 Mar 2020 17:24:47 +0800</pubDate><description><![CDATA[1.结构体嵌套时的sizeof运算
写出下面各结构体的sizeof计算结构：
struct s1 {
char a[4];
};
struct s2 {
s1 a;
char b;
};
结构体s1所占用的空间为4个字节。
结构体s2的第一个成员a占用4个空间，第二个成员b占用1个空间，而结构体s1类型中占用空间最大的类型为char类型，是1个字节，因此结构体s2的sizeof运算结果只要是1的整...]]></description><category></category></item><item><title><![CDATA[嵌入式笔试面试问题积累]]></title><link>https://blog.youkuaiyun.com/qq_40788950/article/details/102769285</link><guid>https://blog.youkuaiyun.com/qq_40788950/article/details/102769285</guid><author>qq_40788950</author><pubDate>Fri, 13 Mar 2020 21:25:40 +0800</pubDate><description><![CDATA[1.高级IO和低级IO的区别？
2.fp从用户态到内核态在整个操作系统中的调用流程
3.pcb,tcb,资源分配，栈共享实现
4.手写cas
5.程序为什么从main函数开始，谁调用的，没有操作系统又是谁调用的
6.写一个管道通信的例子
7.用过什么面向对象的知识，举例说明
8.介绍ARM体系
9.指令集哪几种，流水线工作方式，为什么流水线好？
10.中断机制，有哪些中断种类，怎么中断，为什么会有...]]></description><category></category></item><item><title><![CDATA[如何追踪fp的系统调用过程]]></title><link>https://blog.youkuaiyun.com/qq_40788950/article/details/104769315</link><guid>https://blog.youkuaiyun.com/qq_40788950/article/details/104769315</guid><author>qq_40788950</author><pubDate>Tue, 10 Mar 2020 17:23:36 +0800</pubDate><description><![CDATA[为了能够分析fp从用户态到内核态在整个操作系统中的调用流程，可以通过strace这个命令来进行分析。
首先，写出一个使用标准库函数对文件进行读写操作的程序：
#include &lt;stdio.h&gt;
#include &lt;string.h&gt;
#define FILENAME ("/home/tl/UNIX-programme/self-practice/file.txt")
#d...]]></description><category></category></item><item><title><![CDATA[归并排序及求小和问题]]></title><link>https://blog.youkuaiyun.com/qq_40788950/article/details/104673205</link><guid>https://blog.youkuaiyun.com/qq_40788950/article/details/104673205</guid><author>qq_40788950</author><pubDate>Thu, 05 Mar 2020 19:12:33 +0800</pubDate><description><![CDATA[归并排序
归并排序是先将序列的每相邻的两个数字进行归并操作，形成两两一对排序好的元素，接着将上述序列再次归并，形成包含四个元素的序列。重复上述步骤，直到所有元素排序完毕。
归并排序的C++版本完整程序及测试代码如下：
#include &lt;iostream&gt;
using namespace std;
void mergeSort(int arr[], int length);
void ...]]></description><category></category></item><item><title><![CDATA[插入排序算法的简单分析]]></title><link>https://blog.youkuaiyun.com/qq_40788950/article/details/104670354</link><guid>https://blog.youkuaiyun.com/qq_40788950/article/details/104670354</guid><author>qq_40788950</author><pubDate>Thu, 05 Mar 2020 11:04:47 +0800</pubDate><description><![CDATA[听到一个很形象的比喻，插入排序就像是在整理扑克牌，每从桌上拿起一张，就要把它插入到手上之前已经按顺序拍好的扑克牌中，这样，直到拿起最后一张，将它放在合适的位置之后，手上的扑克牌就整体有序了。插入排序的程序如下：
#include &lt;iostream&gt;
using namespace std;
void swap(int arr[], int a, int b)
{
	if(a == b...]]></description><category></category></item></channel></rss>