<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[xsgaaa的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/xsgaaa</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; xsgaaa]]></copyright><item><title><![CDATA[图论中的一些概念]]></title><link>https://blog.csdn.net/xsgaaa/article/details/112402374</link><guid>https://blog.csdn.net/xsgaaa/article/details/112402374</guid><author>xsgaaa</author><pubDate>Sat, 09 Jan 2021 20:22:48 +0800</pubDate><description><![CDATA[最近在看图匹配算法的论文，有些图论的概念不是很懂，特地从维基百科上查了一下，过来分享。

环


在图论中，环是一条只有第一个和最后一个顶点重复的非空路径。一个没有环的图被称作无环图，一个没有有向环的有向图被称做有向无环图。一个无环的连通图被称作树。


详细定义


回路，环

一个回路是一条非空的有向路径， 其中第一个顶点和最后一个顶点相同。令图，一个回路是一条非空路径，其顶点序列为
	一个环路或简单回路是只有第一个与最后一个顶点相同的回路。
	回路和环的长度是它们经过的边的个数。
有向回路，有向环路
]]></description><category></category></item><item><title><![CDATA[C/C++中字符/字符串 实用技巧]]></title><link>https://blog.csdn.net/xsgaaa/article/details/106783427</link><guid>https://blog.csdn.net/xsgaaa/article/details/106783427</guid><author>xsgaaa</author><pubDate>Tue, 16 Jun 2020 11:13:48 +0800</pubDate><description><![CDATA[C++ 字符串string实用技巧
一.整数(int)转字符串(string)
利用to_string()函数
int a;
string str=to_string(a);

二.字符串(string)转整数(int)

利用atoi()和c_str()，先将string转换成C风格字符串(const char*)，再转换成int类型

string str;
int a=atoi(str.c_str());


利用stoi()，直接将string类型转换为int类型

string str;
int ]]></description><category></category></item><item><title><![CDATA[C++string类总结]]></title><link>https://blog.csdn.net/xsgaaa/article/details/100185792</link><guid>https://blog.csdn.net/xsgaaa/article/details/100185792</guid><author>xsgaaa</author><pubDate>Mon, 02 Sep 2019 15:51:38 +0800</pubDate><description><![CDATA[温故而知新。

本节介绍C++中的string类。

一、string的初始化

首先，为了在程序中使用string类型，必须包含头文件 &lt;string&gt;。如下：


#include &lt;string&gt;

注意这里不是string.h，string.h是C字符串头文件。

string类是一个模板类，位于名字空间std中，通常为方便使用还需要增加：


using name...]]></description><category></category></item><item><title><![CDATA[C语言字符串详解]]></title><link>https://blog.csdn.net/xsgaaa/article/details/100179949</link><guid>https://blog.csdn.net/xsgaaa/article/details/100179949</guid><author>xsgaaa</author><pubDate>Sun, 01 Sep 2019 17:43:54 +0800</pubDate><description><![CDATA[温故而知新。


C++语言中的字符串有两种形式：一种就是用字符数组表示字符串，一种就是用标准库中string来定义字符串。


这节主要讲述C语言中字符数组的用法。

一 字符常量

1.1 普通的字符常量

用单撇号括起来的一个字符就是字符常量。如'a','#','%','D'.

注意：

字符常量只包括一个字符
	字符常量区分大小写字母
	撇号是定界符，而不属于字符串常量的一部分
1.2 ...]]></description><category></category></item><item><title><![CDATA[python入门教程（四）——列表、字符串和元组]]></title><link>https://blog.csdn.net/xsgaaa/article/details/99986879</link><guid>https://blog.csdn.net/xsgaaa/article/details/99986879</guid><author>xsgaaa</author><pubDate>Wed, 21 Aug 2019 21:30:21 +0800</pubDate><description><![CDATA[本教程根据《python编程快速上手》制作，如需转载，请注明出处。

一、列表数据类型


“列表”是一个值，它包含多个字构成的序列。术语“列表值”指的是列表本身（它作为一个值，可以保存在变量中，或传递给函数，像所有其他值一样），而不是指列表值之内的那些值。列表中的值也称为“表项”。表项用逗号分隔（就是说，它们是“逗号分隔的”）。


列表用左方括号开始，右方括号结束，即[]（一对中括号）。

例...]]></description><category></category></item><item><title><![CDATA[python入门教程（三）——函数]]></title><link>https://blog.csdn.net/xsgaaa/article/details/99673914</link><guid>https://blog.csdn.net/xsgaaa/article/details/99673914</guid><author>xsgaaa</author><pubDate>Fri, 16 Aug 2019 15:15:29 +0800</pubDate><description><![CDATA[本教程根据《python编程快速上手》制作，如需转载，请注明出处。


函数的一个主要目的就是将需要多次执行的代码放在一起。这样如果需要修改就会很方便，不用每个地方都要改，只要该函数内部即可。


一、定义函数的格式

需要以下几点：

def关键字
	函数名和括号，可能还包括参数
	冒号
	缩进的函数体
例子1：



执行结果：



第一行是 def 语句，它定义了一个名为 hello()的...]]></description><category></category></item><item><title><![CDATA[python入门教程（二）——控制流]]></title><link>https://blog.csdn.net/xsgaaa/article/details/99644958</link><guid>https://blog.csdn.net/xsgaaa/article/details/99644958</guid><author>xsgaaa</author><pubDate>Thu, 15 Aug 2019 19:07:13 +0800</pubDate><description><![CDATA[本教程根据《python编程快速上手》制作，如需转载，请注明出处。

要想明白怎么控制程序流程，首先要知道逻辑表达式。

一、布尔值

虽然整型、浮点型和字符串数据类型有无数种可能的值，但“布尔”数据类型只有两种值：True 和 False。

注意：布尔变量字母首字母要大写，后面的字母小写。



二、比较操作符

这个每种语言基本都一样的。



这些操作符根据给它们提供的值，求值为 True...]]></description><category></category></item><item><title><![CDATA[python入门教程（一）——python基础]]></title><link>https://blog.csdn.net/xsgaaa/article/details/99294747</link><guid>https://blog.csdn.net/xsgaaa/article/details/99294747</guid><author>xsgaaa</author><pubDate>Mon, 12 Aug 2019 23:45:06 +0800</pubDate><description><![CDATA[本教程根据《python编程快速上手》制作，如需转载，请注明出处。

1.表达式

可以直接在IDLE中输入表达式，然后求值，例如：


&gt;&gt;&gt;2+2
4

表达式包含“值”和“操作符”（例如+），并且总是可以求值（也就是归约）为单个值。这意味着在 Python 代码中，所有使用表达式的地方，也可以使用一个值。

运算符如下：红线以内的运算符优先级相同



如果需要，可以用括号...]]></description><category></category></item><item><title><![CDATA[STL教程（八）——multimap]]></title><link>https://blog.csdn.net/xsgaaa/article/details/98647517</link><guid>https://blog.csdn.net/xsgaaa/article/details/98647517</guid><author>xsgaaa</author><pubDate>Tue, 06 Aug 2019 19:22:59 +0800</pubDate><description><![CDATA[如需转载，请注明出处。


Multimaps是C ++ STL（标准模板库）的一部分。 Multimaps是关联容器，如map，用于存储已排序的键值对，但与仅存储唯一键的map不同，multimap可以具有重复键。默认情况下，它使用 '&lt;' 运算符来比较键。


例如：Employees的multimap，其中员工年龄是键，名称是值，可以表示为：

键
			值
		23
			Nikit...]]></description><category></category></item><item><title><![CDATA[STL教程（七）——map]]></title><link>https://blog.csdn.net/xsgaaa/article/details/98633246</link><guid>https://blog.csdn.net/xsgaaa/article/details/98633246</guid><author>xsgaaa</author><pubDate>Tue, 06 Aug 2019 17:04:47 +0800</pubDate><description><![CDATA[如需转载，请注明出处。

序列容器是管理数据的宝贵工具，但对大多数应用程序而言，序列容器不提供方便的数据访问机制。举个简单的示例，当我们用它处理姓名和地址时，在这种场景下，序列容器可能并不能如我们所愿。一种典型的方法是通过名称来寻找地址。如果记录保存在序列容器中，就只能通过搜索得到这些数据。相比而言，map 容器提供了一种更有效的存储和访问数据的方法。
map 容器是关联容器的一种。在关联容器中，...]]></description><category></category></item><item><title><![CDATA[STL教程（六）——multiset]]></title><link>https://blog.csdn.net/xsgaaa/article/details/98632013</link><guid>https://blog.csdn.net/xsgaaa/article/details/98632013</guid><author>xsgaaa</author><pubDate>Tue, 06 Aug 2019 16:51:44 +0800</pubDate><description><![CDATA[如需转载，请注明出处。

Multisets是一种类似于set的关联容器，但多个元素可以具有相同的值。


Multisets是C ++ STL（标准模板库）的一部分。 Multisets是关联容器，如Set，用于存储排序值（值本身就是T类型的键），但与Set只存储唯一键的Set不同，multiset可以有重复键。默认情况下，它使用‘&lt;’运算符来比较键。

可以插入或删除多集中元素的值，但不...]]></description><category></category></item><item><title><![CDATA[STL教程（五）——Set]]></title><link>https://blog.csdn.net/xsgaaa/article/details/98630264</link><guid>https://blog.csdn.net/xsgaaa/article/details/98630264</guid><author>xsgaaa</author><pubDate>Tue, 06 Aug 2019 16:38:28 +0800</pubDate><description><![CDATA[如需转载，请注明出处。


集合是一种关联容器，其中每个元素必须是唯一的，因为元素的值标识它。一旦将元素添加到集合中，就无法修改该元素的值，但可以删除并添加该元素的修改值。


Set相关的一些基本函数：

begin（） - 返回集合中第一个元素的迭代器。
end（） - 返回跟随集合中最后一个元素的理论元素的迭代器。
size（） - 返回集合中的元素数。
max_size（） - 返回集合可...]]></description><category></category></item><item><title><![CDATA[STL教程（四）——deque]]></title><link>https://blog.csdn.net/xsgaaa/article/details/98626807</link><guid>https://blog.csdn.net/xsgaaa/article/details/98626807</guid><author>xsgaaa</author><pubDate>Tue, 06 Aug 2019 16:19:41 +0800</pubDate><description><![CDATA[如需转载，请注明出处。

deque前面带有字母d，是double的含义，它是双端队列，而是queue是单端的。以下双端队列均指deque。

示意图如下：




双端队列是序列容器，两端具有扩展和收缩的特征。
它们与向量类似，但在插入和删除元素时更有效。与向量不同，可能无法保证连续的存储分配。
双端队列基本上是数据结构双端队列的实现。队列数据结构允许仅在末尾插入并从前面删除。这就像现实生活中的...]]></description><category></category></item><item><title><![CDATA[STL教程（三）——list]]></title><link>https://blog.csdn.net/xsgaaa/article/details/98625021</link><guid>https://blog.csdn.net/xsgaaa/article/details/98625021</guid><author>xsgaaa</author><pubDate>Tue, 06 Aug 2019 16:00:48 +0800</pubDate><description><![CDATA[如需转载，请注明出处。

感觉list无需说过多的内容，原理大家都懂得。直接调用接口就行了。因此熟悉如何用其成员函数，并在适当的时候用到它就行。

List是一个连续的容器，而vector是一个非连续的容器，即list将元素存储在一个连续的内存中，而vector存储在一个非连续的内存中。
	在Vector中间插入和删除是非常昂贵的，因为它需要花费大量时间来移动所有元素。 链表克服了这个问题，并使用...]]></description><category></category></item><item><title><![CDATA[STL教程（二）——Vector]]></title><link>https://blog.csdn.net/xsgaaa/article/details/98619229</link><guid>https://blog.csdn.net/xsgaaa/article/details/98619229</guid><author>xsgaaa</author><pubDate>Tue, 06 Aug 2019 15:34:52 +0800</pubDate><description><![CDATA[如需转载，请注明出处。

Vector和普通数组之间的差异：普通数组遵循静态方法，意味着它的大小在运行时不能更改，而vector实现动态数组意味着它在附加元素时自动调整大小。


向量与动态数组相同，能够在插入或删除元素时自动调整自身大小，其存储由容器自动处理。向量元素放置在连续存储中，以便可以使用迭代器访问和遍历它们。在向量中，最后插入数据。最后插入需要不同的时间，因为有时可能需要扩展阵列。删除...]]></description><category></category></item><item><title><![CDATA[STL教程（一）——STL的组成部分]]></title><link>https://blog.csdn.net/xsgaaa/article/details/98596823</link><guid>https://blog.csdn.net/xsgaaa/article/details/98596823</guid><author>xsgaaa</author><pubDate>Tue, 06 Aug 2019 14:59:41 +0800</pubDate><description><![CDATA[如需转载，请注明出处。

经常编一些程序，感觉STL很有用，所以本次着手翻译一些文章，写个STL教程，以后用的话好直接查询。

一、容器

容器可以描述为包含相同类型数据的对象。容器用于实现不同的数据结构，例如数组，列表，树等。

以下是提供所有容器的详细信息以及头文件和与之关联的迭代器类型的容器：

容器
			描述
			头文件
			迭代器
		
			vector
			
			vecto...]]></description><category></category></item><item><title><![CDATA[计算机辅助与图形学作业（三）——绘制三次样条曲线]]></title><link>https://blog.csdn.net/xsgaaa/article/details/98337325</link><guid>https://blog.csdn.net/xsgaaa/article/details/98337325</guid><author>xsgaaa</author><pubDate>Sat, 03 Aug 2019 14:53:45 +0800</pubDate><description><![CDATA[如需转载本文，请注明出处。

接着前面的两个系列，继续，这次要绘制的是三次样条曲线。

上来先看一下效果：



接下来上源码：

首先是一个函数，可以根据所给的初值，求出三次样条曲线的参数。


/*
	本程序借助EasyX图像库，绘制三次样条曲线
*/
#include&lt;iostream&gt;
#include&lt;graphics.h&gt;
#include&lt;math.h&...]]></description><category></category></item><item><title><![CDATA[计算机辅助与图形学作业（二）——绘制B样条曲线]]></title><link>https://blog.csdn.net/xsgaaa/article/details/98335798</link><guid>https://blog.csdn.net/xsgaaa/article/details/98335798</guid><author>xsgaaa</author><pubDate>Sat, 03 Aug 2019 14:33:18 +0800</pubDate><description><![CDATA[如需转载本文，请注明出处。

接着（一），继续，这次要绘制的是B样条曲线，更为复杂了。

任然使用的是EasyX图形库。

先看一下效果：



其中，红色的为B样条曲线，绿色的为其控制线。

源代码如下：


/*
	本程序借助EasyX图形库绘制B样条曲线
*/#include &lt;graphics.h&gt; 
#include&lt;conio.h&gt; 
#include&lt;s...]]></description><category></category></item><item><title><![CDATA[计算机辅助与图形学作业（一）——画直线，画椭圆，实现轴对称]]></title><link>https://blog.csdn.net/xsgaaa/article/details/98333269</link><guid>https://blog.csdn.net/xsgaaa/article/details/98333269</guid><author>xsgaaa</author><pubDate>Sat, 03 Aug 2019 14:24:21 +0800</pubDate><description><![CDATA[如需转载本文，请注明出处。

前段时间有个图形学的课程作业，花了点时间做了出来，今天在这里分享一下供后来者学习、借鉴（其实就是粘贴复制，大家懂的，嘿嘿）。

首先，声明一下所用的环境为：VS2015+EasyX图形库。因为要实现绘图，最好有专门的库，MFC也可以实现绘图，不过太麻烦。其中EasyX图形库官网地址为：https://easyx.cn，直接点击下载，然后傻瓜式安装即可。而且EasyX图...]]></description><category></category></item><item><title><![CDATA[C++多线程初探（1）]]></title><link>https://blog.csdn.net/xsgaaa/article/details/91974658</link><guid>https://blog.csdn.net/xsgaaa/article/details/91974658</guid><author>xsgaaa</author><pubDate>Fri, 14 Jun 2019 15:10:30 +0800</pubDate><description><![CDATA[最近发现线程这个东西很好玩而且有用，因此找了本书《零基础学习Visual C++》看了下。

简单地说，线程是比进程还要小的单位。一个进程可以执行多个线程，也就是说线程可以并发同时互不干扰的运行。




1.进程就是应用程序的运行实例，它是独立的，每个进程都有自己私有的虚拟地址空间。每个进程都有一个主线程，但可以建立另外的线程。线程运行在进程空间内。
2.一般来讲（不使用特殊技术），进进程A进...]]></description><category></category></item></channel></rss>