C语言中,其实是使用字符数组来模拟字符串的,如果一个字符数组以\0为结束符的话,那么这个字符数组就是C语言中合法的字符串了。一个字符数组是不是字符串的标准就是是否以\0来作为结束标志。 在C语言中是找不到一个数据类型来单独描述字符串的,要么就通过字符数组,要么就通过char*指针。 为了兼容C语言, ...
分类:
其他好文 时间:
2020-07-07 09:22:28
阅读次数:
75
关于子数组和的问题,容易想到前缀和,但是一般前缀和还不足够优化时间复杂度。看到一个大于五个零的数组长度,我就知道这题应该只能O(n)了。然后首先想到双指针,指了半天发现中间有负数也就是左端点可能不行,但是左端点往右可能又行了,这种情况又不会处理了。这时候我想到了一种叫单调栈的东西,感觉这东西应该是能 ...
分类:
其他好文 时间:
2020-07-07 00:26:08
阅读次数:
66
####静态绑定 如果以一个基础类指针指向一个衍生类对象(派生类对象),那么经由该指针只能访问基础类定义的函数 如果以一个衍生类指针指向一个基础类对象,必须先做强制转型动作(explicit cast),这种做法很危险,也不符合生活习惯,在程序设计上也会给程序员带来困扰。 如果基础类和衍生类定义了相 ...
分类:
其他好文 时间:
2020-07-06 19:46:52
阅读次数:
67
1.函数: 函数就是一系列指令的集合,为了完成某个会重复使用的特定功能。 比如:MOV EAX,1 MOV ECX,1 就相当于一个函数(指令的集合) 2.函数的调用: (1)使用JMP来执行函数 使用JMP执行函数的话,JMP跳转到相应的指令后指令指针不再返回到原来位置的下一位: (2)使用CAL ...
分类:
其他好文 时间:
2020-07-06 19:28:06
阅读次数:
43
###函数接口定义: 函数Insert将X插入二叉搜索树BST并返回结果树的根结点指针; 函数Delete将X从二叉搜索树BST中删除,并返回结果树的根结点指针;如果X不在树中,则打印一行Not Found并返回原树的根结点指针; 函数Find在二叉搜索树BST中找到X,返回该结点的指针;如果找不到 ...
分类:
其他好文 时间:
2020-07-06 16:21:35
阅读次数:
57
之前我们使用FStandardDeltegateSignature类进行了无参数的函数绑定,也有人告诉我说叫做观察者模式。 今天我们先使用函数指针完成FStandardDeltegateSignature类的功能。 以下是继承自Actor类的PointLightListner类的头文件代码: 1 # ...
分类:
编程语言 时间:
2020-07-06 13:03:27
阅读次数:
70
题意是要删除一个排序链表里所有重复出现的数字,链表里留下的数字都是只出现一次的数字。 思路:用两个指针currentNode和nextNode扫描一遍有序链表,最开始初始化currentNode为链表的附加头节点dummy, nextNode为currentNode的下一个节点,然后不断判断next ...
分类:
编程语言 时间:
2020-07-06 12:40:20
阅读次数:
66
传送门 一道板子题,思路和一基本没什么区别只是操作变了。话不多说上代码。 注意一下:这是大佬交给我们的指针写法,虽然不好理解但是比数组简洁方便容易错 声明:代码和HwH的线段树一样,因为是他帮我修改的。 #include<cstdio> const int maxn=100005; int p; t ...
分类:
其他好文 时间:
2020-07-06 11:19:13
阅读次数:
49
##动态开点-指针 #include<iostream> #include<cstdio> using namespace std; const long long k=5e5+5; long long a[k]; struct Segment{ long long l,r; long long s ...
分类:
其他好文 时间:
2020-07-06 11:11:21
阅读次数:
57
输入两个链表,找出它们的第一个公共节点。 普通办法,对A链表每个节点都遍历B链表,看有没有相同,时间复杂度mn。 用空间换时间,因为链表只要遇到第一个相同的节点,后面的节点都相同,也就是说可以从链表尾往回找。但是因为缺乏往回的指针,所以使用栈,两个栈分别把两个链表的所有节点压进去,然后再一对一对弹出 ...
分类:
其他好文 时间:
2020-07-06 11:10:00
阅读次数:
53