<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_41999670的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_41999670</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_41999670]]></copyright><item><title><![CDATA[链表-快指针和慢指针的使用方法]]></title><link>https://blog.youkuaiyun.com/qq_41999670/article/details/103059011</link><guid>https://blog.youkuaiyun.com/qq_41999670/article/details/103059011</guid><author>qq_41999670</author><pubDate>Wed, 13 Nov 2019 22:57:55 +0800</pubDate><description><![CDATA[1）给定一个带有头结点 head 的非空单链表，返回链表的中间结点。如果有两个中间结点，则返回第二个中间结点。
本问题的思想是：定义两个指针，一个快指针fast，一个慢指针slow，慢指针每次走一步，快指针每次走两步，当不满足条件（fast&amp;&amp;fast-&gt;next）时，说明已经找到了中点，且中点时slow。
/** * Definition for singly-linked...]]></description><category></category></item><item><title><![CDATA[链表总结]]></title><link>https://blog.youkuaiyun.com/qq_41999670/article/details/103058799</link><guid>https://blog.youkuaiyun.com/qq_41999670/article/details/103058799</guid><author>qq_41999670</author><pubDate>Wed, 13 Nov 2019 22:28:19 +0800</pubDate><description><![CDATA[链表总结
（1）对链表进行操作时首先要判空，判断包括head判空和head-&gt;next判断，此处根据情况而定；
（2）一般要定义多个指针存放临时的节点，这些指针的初始化必须考虑清楚；
（3）循环的截至条件必须考虑清楚；

...]]></description><category></category></item><item><title><![CDATA[冒泡排序]]></title><link>https://blog.youkuaiyun.com/qq_41999670/article/details/97817344</link><guid>https://blog.youkuaiyun.com/qq_41999670/article/details/97817344</guid><author>qq_41999670</author><pubDate>Tue, 30 Jul 2019 21:12:48 +0800</pubDate><description><![CDATA[#include&lt;stdio.h&gt;
#include&lt;stdlib.h&gt;

//升序排序
void BubbleSort(int* arr, int size)
{
	for (int i = 0; i &lt; size; i++)
	{
		for (int j = 0; j &lt; size-1-i; j++)
		{
			if (arr[j]&gt;arr...]]></description><category></category></item><item><title><![CDATA[数组大小、字符串大小]]></title><link>https://blog.youkuaiyun.com/qq_41999670/article/details/97814222</link><guid>https://blog.youkuaiyun.com/qq_41999670/article/details/97814222</guid><author>qq_41999670</author><pubDate>Tue, 30 Jul 2019 20:18:00 +0800</pubDate><description><![CDATA[（1）一维数组
int a[] = { 1, 2, 3, 4 };
printf("%d\n", sizeof(a));   //16,计算的是整个数组字节数
printf("%d\n", sizeof(a + 0));//4，数组名+0是一个指针，指向第1个元素的指针
printf("%d\n", sizeof(a));//4，解引用，得到的是第一个元素1
printf("%d\n", size...]]></description><category></category></item><item><title><![CDATA[通讯录动态版本]]></title><link>https://blog.youkuaiyun.com/qq_41999670/article/details/87893915</link><guid>https://blog.youkuaiyun.com/qq_41999670/article/details/87893915</guid><author>qq_41999670</author><pubDate>Sat, 23 Feb 2019 16:32:09 +0800</pubDate><description><![CDATA[实现一个通讯录；
通讯录可以用来存储1000个人的信息，每个人的信息包括：
姓名、性别、年龄、电话、住址
提供方法：

添加联系人信息
删除指定联系人信息
查找指定联系人信息
修改指定联系人信息
显示所有联系人信息
清空所有联系人
以名字排序所有联系人
保存联系人到文件

#define _CRT_SECURE_NO_WARNINGS
#include&amp;amp;amp;lt;stdio.h&amp;amp;amp;gt;
#includ...]]></description><category></category></item><item><title><![CDATA[通讯录]]></title><link>https://blog.youkuaiyun.com/qq_41999670/article/details/87893162</link><guid>https://blog.youkuaiyun.com/qq_41999670/article/details/87893162</guid><author>qq_41999670</author><pubDate>Sat, 23 Feb 2019 15:44:14 +0800</pubDate><description><![CDATA[实现一个通讯录；
通讯录可以用来存储1000个人的信息，每个人的信息包括：
姓名、性别、年龄、电话、住址
提供方法：
1.	添加联系人信息
2.	删除指定联系人信息
3.	查找指定联系人信息
4.	修改指定联系人信息
5.	显示所有联系人信息
6.	清空所有联系人
7.	以名字排序所有联系人
8. 保存联系人到文件
设计的大体思路是：首先定义一个结构体，这个结构体中存放每个联系人应该包括的信息，再...]]></description><category></category></item><item><title><![CDATA[实现memmove函数]]></title><link>https://blog.youkuaiyun.com/qq_41999670/article/details/87864041</link><guid>https://blog.youkuaiyun.com/qq_41999670/article/details/87864041</guid><author>qq_41999670</author><pubDate>Thu, 21 Feb 2019 16:47:59 +0800</pubDate><description><![CDATA[memmove用于拷贝字节，如果目标区域和源区域有重叠的话，memmove能够保证源串在被覆盖之前将重叠区域的字节拷贝到目标区域中，但复制后源内容会被更改。但是当目标区域与源区域没有重叠则和memcpy函数功能相同。
#include&amp;lt;stdio.h&amp;gt;
#include&amp;lt;stdlib.h&amp;gt;
#include&amp;lt;assert.h&amp;gt;  
void* Memcpy(vo...]]></description><category></category></item><item><title><![CDATA[实现memcpy函数]]></title><link>https://blog.youkuaiyun.com/qq_41999670/article/details/87863154</link><guid>https://blog.youkuaiyun.com/qq_41999670/article/details/87863154</guid><author>qq_41999670</author><pubDate>Thu, 21 Feb 2019 16:13:45 +0800</pubDate><description><![CDATA[memcpy函数的功能是从源内存地址的起始位置开始拷贝若干个字节到目标内存地址中。
#include&amp;lt;stdio.h&amp;gt;
#include&amp;lt;stdlib.h&amp;gt;
#include&amp;lt;assert.h&amp;gt;

void* Memcpy(void* dest, const void* src, size_t num)
{
	assert(src != NULL);
	asse...]]></description><category></category></item><item><title><![CDATA[实现strcmp函数]]></title><link>https://blog.youkuaiyun.com/qq_41999670/article/details/87862964</link><guid>https://blog.youkuaiyun.com/qq_41999670/article/details/87862964</guid><author>qq_41999670</author><pubDate>Thu, 21 Feb 2019 16:05:05 +0800</pubDate><description><![CDATA[strcmp函数是比较两个字符串的大小。当str1&amp;gt;str2时,返回大于0的数，当str1&amp;lt;str2时，返回小于0的数，当str1=str2时，返回0。
#define _CRT_SECURE_NO_WARNINGS
#include&amp;lt;stdio.h&amp;gt;
#include&amp;lt;stdlib.h&amp;gt;
#include&amp;lt;assert.h&amp;gt;
int Strcmp(...]]></description><category></category></item><item><title><![CDATA[实现strchr函数]]></title><link>https://blog.youkuaiyun.com/qq_41999670/article/details/87862663</link><guid>https://blog.youkuaiyun.com/qq_41999670/article/details/87862663</guid><author>qq_41999670</author><pubDate>Thu, 21 Feb 2019 15:54:15 +0800</pubDate><description><![CDATA[strchr函数的作用是寻找字符在字符串中出现的位置。
#include&amp;lt;stdio.h&amp;gt;
#include&amp;lt;stdlib.h&amp;gt;
#include&amp;lt;assert.h&amp;gt;   
const char * Strchr(const char * str, int c)
{
	assert(&quot;str!=NULL&quot;);
	while (*str != NULL)
	{
	...]]></description><category></category></item><item><title><![CDATA[实现strstr函数]]></title><link>https://blog.youkuaiyun.com/qq_41999670/article/details/87862229</link><guid>https://blog.youkuaiyun.com/qq_41999670/article/details/87862229</guid><author>qq_41999670</author><pubDate>Thu, 21 Feb 2019 15:38:27 +0800</pubDate><description><![CDATA[strstr函数的作用是寻找子字符串在目标字符串中第一次出现的位置。
#include &amp;lt;stdio.h&amp;gt;
#include&amp;lt;stdlib.h&amp;gt;
#include&amp;lt;assert.h&amp;gt;
const char * Strstr(const char * str1, const char * str2)
{
	assert(str1 != NULL);
	assert...]]></description><category></category></item><item><title><![CDATA[实现strcat函数]]></title><link>https://blog.youkuaiyun.com/qq_41999670/article/details/87861619</link><guid>https://blog.youkuaiyun.com/qq_41999670/article/details/87861619</guid><author>qq_41999670</author><pubDate>Thu, 21 Feb 2019 15:17:02 +0800</pubDate><description><![CDATA[strcat函数是将两个字符串进行连接。
#define _CRT_SECURE_NO_WARNINGS
#include &amp;lt;stdio.h&amp;gt;
#include&amp;lt;stdlib.h&amp;gt;
#include &amp;lt;string.h&amp;gt;
#include&amp;lt;assert.h&amp;gt;
char* Strcat(char * dest, const char * src)
{
...]]></description><category></category></item><item><title><![CDATA[实现strcpy函数]]></title><link>https://blog.youkuaiyun.com/qq_41999670/article/details/87861399</link><guid>https://blog.youkuaiyun.com/qq_41999670/article/details/87861399</guid><author>qq_41999670</author><pubDate>Thu, 21 Feb 2019 15:09:42 +0800</pubDate><description><![CDATA[strcpy函数是字符串复制函数。
#define _CRT_SECURE_NO_WARNINGS
#include&amp;lt;stdio.h&amp;gt;
#include&amp;lt;stdlib.h&amp;gt;
#include&amp;lt;assert.h&amp;gt;
char* Strcpy(char* dest, const char* src)
{
	assert(src != NULL);
	assert(de...]]></description><category></category></item><item><title><![CDATA[c语言操作符总结]]></title><link>https://blog.youkuaiyun.com/qq_41999670/article/details/87855967</link><guid>https://blog.youkuaiyun.com/qq_41999670/article/details/87855967</guid><author>qq_41999670</author><pubDate>Thu, 21 Feb 2019 10:20:58 +0800</pubDate><description><![CDATA[(1)算数操作符
算数操作符包括+  -  *  /  %
+操作符的操作数可以是整型，也可以是浮点型；
-操作符的操作数可以是整型，也可以是浮点型；
*操作符的操作数可以是整型，也可以是浮点型；
/操作符的操作数都为整数时，其结果为整数，若有一个操作数为浮点数，则其结果就为浮点数；
%操作符的两个操作数必须为整数，返回两个数整除之后的余数。
(2)移位操作符
&amp;lt;&amp;lt;左移操作符,其移位规...]]></description><category></category></item><item><title><![CDATA[求两个数平均值的三种方法]]></title><link>https://blog.youkuaiyun.com/qq_41999670/article/details/87796406</link><guid>https://blog.youkuaiyun.com/qq_41999670/article/details/87796406</guid><author>qq_41999670</author><pubDate>Wed, 20 Feb 2019 14:39:51 +0800</pubDate><description><![CDATA[求两个数平均值的三种方法
1.使用(m+n)/2,求两个数的平均值
#define _CRT_SECURE_NO_WARNINGS
#include&amp;lt;stdio.h&amp;gt;
#include&amp;lt;stdlib.h&amp;gt;
int main()
{
	int m, n;
	printf(&quot;请输入两个整数：&quot;);
	scanf(&quot;%d %d&quot;, &amp;amp;m, &amp;amp;n);
	printf...]]></description><category></category></item><item><title><![CDATA[日本某地发生了一件谋杀案，警察通过排查确定杀人凶手必为4个 嫌疑犯的一个。以下为4个嫌疑犯的供词。 A说：不是我。 B说：是C。 C说：是D。 D说：C在胡说 已知3个人说了真话，1个人说的是假话。]]></title><link>https://blog.youkuaiyun.com/qq_41999670/article/details/87686618</link><guid>https://blog.youkuaiyun.com/qq_41999670/article/details/87686618</guid><author>qq_41999670</author><pubDate>Tue, 19 Feb 2019 09:10:05 +0800</pubDate><description><![CDATA[日本某地发生了一件谋杀案，警察通过排查确定杀人凶手必为4个 嫌疑犯的一个。以下为4个嫌疑犯的供词。 A说：不是我。 B说：是C。 C说：是D。 D说：C在胡说 已知3个人说了真话，1个人说的是假话。 现在请根据这些信息，写一个程序来确定到底谁是凶手。
分析：由题可知，凶手总共有四种可能性，分别是A,B,C,D，4个嫌疑犯都提供了证词，但是只有三个人说了真话，则判断条件应该为if (((killer...]]></description><category></category></item><item><title><![CDATA[5位运动员参加了10米台跳水比赛，有人让他们预测比赛结果 A选手说：B第二，我第三； B选手说：我第二，E第四； C选手说：我第一，D第二； D选手说：C最后，我第三； E选手说：我第四，A第一； 比]]></title><link>https://blog.youkuaiyun.com/qq_41999670/article/details/87685103</link><guid>https://blog.youkuaiyun.com/qq_41999670/article/details/87685103</guid><author>qq_41999670</author><pubDate>Tue, 19 Feb 2019 08:44:20 +0800</pubDate><description><![CDATA[5位运动员参加了10米台跳水比赛，有人让他们预测比赛结果 A选手说：B第二，我第三； B选手说：我第二，E第四； C选手说：我第一，D第二； D选手说：C最后，我第三； E选手说：我第四，A第一； 比赛结束后，每位选手都说对了一半，请编程确定比赛的名次。
分析：总共有5名运动员，每名运动员的名次都有5中可能，即1,2,3,4,5，根据题目要求知每名运动员只说对了一半，也就是说每位运动员都说对了一个...]]></description><category></category></item><item><title><![CDATA[c语言自定义类型知识总结]]></title><link>https://blog.youkuaiyun.com/qq_41999670/article/details/87646174</link><guid>https://blog.youkuaiyun.com/qq_41999670/article/details/87646174</guid><author>qq_41999670</author><pubDate>Mon, 18 Feb 2019 21:06:53 +0800</pubDate><description><![CDATA[c语言自定义类型知识总结
1.结构体类型创建
在创建结构体时根据实际情况在结构体中添加应有的元素。结构体在声明的时候，前面必须添加struct关键字。
例如:
struct PersonInfo{
char name[1024];
char sex[1024];
int age;
char phone[1024];
char address[1024];
};
定义变量： struct Perso...]]></description><category></category></item><item><title><![CDATA[一级指针、二级指针、指针和数组、指针数组总结]]></title><link>https://blog.youkuaiyun.com/qq_41999670/article/details/87622488</link><guid>https://blog.youkuaiyun.com/qq_41999670/article/details/87622488</guid><author>qq_41999670</author><pubDate>Mon, 18 Feb 2019 15:17:23 +0800</pubDate><description><![CDATA[一级指针、二级指针、指针和数组、指针数组总结

1.指针
指针是个变量，用于存放内存单元的地址（编号）。
2.一级指针
举例：
int a=8;
int* p=&amp;amp;a;
p是一个一级指针，它存放的是变量a的地址，对p解引用得到的就是a的值。
int a[3]={1,2,3};
int* p=a;
这里的p也是一个一级指针，存放的是数组的首地址，数组名就是数组的首地址，对p解引用得到的是数组的...]]></description><category></category></item><item><title><![CDATA[二分查找]]></title><link>https://blog.youkuaiyun.com/qq_41999670/article/details/84899556</link><guid>https://blog.youkuaiyun.com/qq_41999670/article/details/84899556</guid><author>qq_41999670</author><pubDate>Sat, 08 Dec 2018 21:43:28 +0800</pubDate><description><![CDATA[二分查找
二分查找是一种在有序数组中查找某一特定元素的搜索算法。它的思想是：搜索过程从数组的中间元素开始，如果中间元素正好是要查找的元素，则搜索过程结束；如果某一特定元素大于或者小于中间元素，则在数组大于或小于中间元素的那一半中查找，而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空，则代表找不到。这种搜索算法每一次比较都使搜索范围缩小一半。
#define _CRT_SECURE_NO_W...]]></description><category></category></item></channel></rss>