<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Calmye的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Calmye</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Calmye]]></copyright><item><title><![CDATA[堆]]></title><link>https://blog.youkuaiyun.com/Calmye/article/details/121492542</link><guid>https://blog.youkuaiyun.com/Calmye/article/details/121492542</guid><author>Calmye</author><pubDate>Tue, 23 Nov 2021 14:30:10 +0800</pubDate><description><![CDATA[对于堆，每次要取出头节点，就将头节点和最后一个节点交换，取出最后一个节点，再重新化为堆

]]></description><category></category></item><item><title><![CDATA[最大堆 取出并删除root]]></title><link>https://blog.youkuaiyun.com/Calmye/article/details/121359477</link><guid>https://blog.youkuaiyun.com/Calmye/article/details/121359477</guid><author>Calmye</author><pubDate>Tue, 16 Nov 2021 16:38:37 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[堆的建立]]></title><link>https://blog.youkuaiyun.com/Calmye/article/details/121358978</link><guid>https://blog.youkuaiyun.com/Calmye/article/details/121358978</guid><author>Calmye</author><pubDate>Tue, 16 Nov 2021 16:24:30 +0800</pubDate><description><![CDATA[堆的建立

]]></description><category></category></item><item><title><![CDATA[L2-004 这是二叉搜索树吗？ (25 分)]]></title><link>https://blog.youkuaiyun.com/Calmye/article/details/121335967</link><guid>https://blog.youkuaiyun.com/Calmye/article/details/121335967</guid><author>Calmye</author><pubDate>Mon, 15 Nov 2021 15:37:20 +0800</pubDate><description><![CDATA[优解：


#include &lt;iostream&gt;
#include &lt;vector&gt;
using namespace std;
struct BinTree
{
    int val;
    BinTree *left, *right;
};
BinTree* insert(BinTree *root, int v)
{
    if(root == nullptr)
    {
        root = new BinTree;
        root-&gt;val ]]></description><category></category></item><item><title><![CDATA[平衡二叉树 avl]]></title><link>https://blog.youkuaiyun.com/Calmye/article/details/121319115</link><guid>https://blog.youkuaiyun.com/Calmye/article/details/121319115</guid><author>Calmye</author><pubDate>Sun, 14 Nov 2021 16:12:29 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[内存分类简介]]></title><link>https://blog.youkuaiyun.com/Calmye/article/details/119458413</link><guid>https://blog.youkuaiyun.com/Calmye/article/details/119458413</guid><author>Calmye</author><pubDate>Fri, 06 Aug 2021 18:06:40 +0800</pubDate><description><![CDATA[内存分为1.代码区（存放的二进制代码，还未运行exe之前 就有代码区 ） 2堆区 3 栈区 4全局区（全局变量 静态变量 以及常量） 不同区域存放的数据被赋予不同的生命周期，给我们更大的灵活编程

代码区1：共享 //对于频繁被执行的程序，只需要有一份代码

     2: 只读//防止指令被意外修改

全局区：全局变量，静态变量，常量（字符串常量，其他常量即const修饰的变量——const修饰的全局变量\！const修饰的局部变量不在全局区！）。全局区的数据在程序结束后，由操作系统释放。...]]></description><category></category></item><item><title><![CDATA[Leetcode19.删除链表的倒数第N个节点（C语言）]]></title><link>https://blog.youkuaiyun.com/Calmye/article/details/117755460</link><guid>https://blog.youkuaiyun.com/Calmye/article/details/117755460</guid><author>Calmye</author><pubDate>Wed, 09 Jun 2021 22:20:45 +0800</pubDate><description><![CDATA[暴力解法


/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */


struct ListNode* removeNthFromEnd(struct ListNode* head, int n){
    struct ListNode* p=head;
    int num=1;
    //统计链表总长度
    .]]></description><category></category></item><item><title><![CDATA[LEETCODE之链表 两数相加]]></title><link>https://blog.youkuaiyun.com/Calmye/article/details/117719936</link><guid>https://blog.youkuaiyun.com/Calmye/article/details/117719936</guid><author>Calmye</author><pubDate>Wed, 09 Jun 2021 01:11:34 +0800</pubDate><description><![CDATA[题目:
给出两个 非空 的链表用来表示两个非负的整数。其中，它们各自的位数是按照 逆序 的方式存储的，并且它们的每个节点只能存储 一位 数字。

如果，我们将这两个数相加起来，则会返回一个新的链表来表示它们的和。

您可以假设除了数字 0 之外，这两个数都不会以 0 开头。

示例：

输入：(2 -&gt; 4 -&gt; 3) + (5 -&gt; 6 -&gt; 4)
输出：7 -&gt; 0 -&gt; 8
原因：342 + 465 = 807

来源：力扣（LeetCode）
链接：https:/]]></description><category></category></item><item><title><![CDATA[回调函数之什么是回调函数，为什么要回调？]]></title><link>https://blog.youkuaiyun.com/Calmye/article/details/117604682</link><guid>https://blog.youkuaiyun.com/Calmye/article/details/117604682</guid><author>Calmye</author><pubDate>Sat, 05 Jun 2021 19:50:55 +0800</pubDate><description><![CDATA[回调函数就是一个通过函数指针调用的函数。如果你把函数的指针（地址）作为参数传递给另一个函数，当这个指针被用来调用其所指向的函数时，我们就说这是回调函数。

A "callback" is any function that is called by another function which takes the first function as a parameter。 也就是说，函数 F1 调用函数 F2 的时候，函数 F1 通过参数给 函数 F2 传递了另外一个函数 F3 的指针，在函数 F2 执行]]></description><category></category></item><item><title><![CDATA[C语言之自定义的输入字符串函数]]></title><link>https://blog.youkuaiyun.com/Calmye/article/details/117483717</link><guid>https://blog.youkuaiyun.com/Calmye/article/details/117483717</guid><author>Calmye</author><pubDate>Wed, 02 Jun 2021 21:16:05 +0800</pubDate><description><![CDATA[由于gets()函数的安全性不高，容易造成越界访问，以及fgets()函数会自动将\n加入字符串中，若想安全地输入一个不带有\n的zi'fu'chu'a'b
]]></description><category></category></item><item><title><![CDATA[c语言 fgets() fputs()]]></title><link>https://blog.youkuaiyun.com/Calmye/article/details/117356591</link><guid>https://blog.youkuaiyun.com/Calmye/article/details/117356591</guid><author>Calmye</author><pubDate>Fri, 28 May 2021 11:30:33 +0800</pubDate><description><![CDATA[在对于字符串的输入时 一般不采用gets（）函数 因为有可能造成越界访问，故采用更加安全的fgets（）函数.


char arr[10];
fgets(arr,10,stdin);//第二个参数代表了访问的限制 如果输入超过(10-1)个字符，则会截取掉后面的字            
                    //符，并自动补\0



...]]></description><category></category></item><item><title><![CDATA[C语言例题之 缀点成线]]></title><link>https://blog.youkuaiyun.com/Calmye/article/details/117263368</link><guid>https://blog.youkuaiyun.com/Calmye/article/details/117263368</guid><author>Calmye</author><pubDate>Tue, 25 May 2021 20:11:58 +0800</pubDate><description><![CDATA[在一个XY坐标系中有一些点，横坐标为x、纵坐标为y。请你来判断，这些点是否在该坐标系中属于同一条直线上，是则输出true，否则请输出false。

测试样例

输入



6
1 1
2 2
3 4
4 5
5 6
7 7


输出



false



利用长度可变的动态二维数组//如 申请了m*n个int型的存储单元，并用int型指针变量p指向这段内存的首地址，尽管它相当于建立了一个m行n列的二维动态数组，但不能用p[][]来表示，只能使用*(p+i*n+j)或p[i*n+j]来表示数组值


	i.]]></description><category></category></item><item><title><![CDATA[最长回文子串]]></title><link>https://blog.youkuaiyun.com/Calmye/article/details/117261311</link><guid>https://blog.youkuaiyun.com/Calmye/article/details/117261311</guid><author>Calmye</author><pubDate>Tue, 25 May 2021 17:53:44 +0800</pubDate><description><![CDATA[char* longestPalindrome(char* s);
int main()
{
	char s[10];
	gets(s);
	printf("%s",longestPalindrome( s));
	return 0;
}

char* longestPalindrome(char* s)
	{
		int len = strlen(s);
		if (len &lt;= 1) { return s; }
		int start = 0;
		int maxlen = 0;
		for (.]]></description><category></category></item><item><title><![CDATA[字符串常量之谜]]></title><link>https://blog.youkuaiyun.com/Calmye/article/details/117232750</link><guid>https://blog.youkuaiyun.com/Calmye/article/details/117232750</guid><author>Calmye</author><pubDate>Mon, 24 May 2021 21:13:59 +0800</pubDate><description><![CDATA[对于char*ptr="hello";

”hello“便是字符串常量，字符串常量本身就代表了存放它的常量储存区的首地址，所以不能把上句代码理解为将字符串赋值给ptr。所以，可以修改ptr的值来改变其指向，但不能对ptr所指向的存储单元进行修改
...]]></description><category></category></item><item><title><![CDATA[有关于野指针的部分注意事项]]></title><link>https://blog.youkuaiyun.com/Calmye/article/details/117232516</link><guid>https://blog.youkuaiyun.com/Calmye/article/details/117232516</guid><author>Calmye</author><pubDate>Mon, 24 May 2021 21:10:14 +0800</pubDate><description><![CDATA[如果该函数返回值是一个在函数内部定义的指针变量，则当函数调用结束时，指针变量指向的空间中的内存被系统回收，但指针变量本身的值并未发生改变，所以这个时候再对该指针操作就会造成风险。

为了避免野指针，我们可以利用动态内存分配的空间不会在函数调用结束后自动被释放，而需要手动free的特点。


int main()
{
    char*ptr=NULL;
    ptr=Getschar(ptr);
    puts(ptr);
    free(ptr);
    return 0;
}
char* Get]]></description><category></category></item><item><title><![CDATA[利用动态内存分配实现可变数组]]></title><link>https://blog.youkuaiyun.com/Calmye/article/details/117231968</link><guid>https://blog.youkuaiyun.com/Calmye/article/details/117231968</guid><author>Calmye</author><pubDate>Mon, 24 May 2021 20:54:40 +0800</pubDate><description><![CDATA[在c99的标准中，允许结构体的最后一项是大小不不确定的数组即arr[]或arr[0]


typedef struct s 
{
	int n;
	int arr[];
}S;
int main()
{
	int i=0;
	S*ps=(S*)malloc(sizeof(S)+5*sizeof(int));
	ps-&gt;n=100;
	for (i=0;i&lt;5;i++)
	{
		ps-&gt;arr[i]=i;
	}
	for (i=0;i&lt;5;i++)
	{
		printf("%d",]]></description><category></category></item><item><title><![CDATA[无重复的最长子串]]></title><link>https://blog.youkuaiyun.com/Calmye/article/details/117196464</link><guid>https://blog.youkuaiyun.com/Calmye/article/details/117196464</guid><author>Calmye</author><pubDate>Sun, 23 May 2021 16:08:20 +0800</pubDate><description><![CDATA[#include&lt;stdio.h&gt;
#include&lt;string.h&gt;
int length(char*s);
int main()
{ 
	char arr[30];
  gets(arr);
  printf("length=%d",length(arr)); 
   return 0;  
}
/*
int length(char *s)
{
	int left=0,right=0;
	int sizemax=0,size=0;
	int map[129]={0};
	fo.]]></description><category></category></item></channel></rss>