04 2022 档案
摘要:最重要的一点,'\b'的意思不是退格,而是把光标前移一位。在输出'\b'的时候,本质上字符串是不会有变化的。 而对于"\b\n"这样的输出信息,由于'\n'也仅仅是光标的移动操作(把光标移动到下一行开头),因此'\b\n'不会修改任何后面的字符。 做一个实验(在Windows环境下,为了方便使用了w
阅读全文
摘要:#0.前言 这个系列基本上是一月一更到两月一更 今天写一篇关于static的,内含大量干货,做好准备 #1.基础知识的回顾 ##1.1.内存的种类 一般来说,我们之前已经讲过的变量(或者说是内存)可以大体分为这样几种: 全局变量 局部变量,也称为自动变量 使用malloc分配的区域 常量、字符串字面
阅读全文
摘要:这是我之前的文章: https://www.cnblogs.com/jisuanjizhishizatan/p/16149500.html 对于typeid,可以使用如下的方法输出它的名字,本质上name()方法返回的是一个string类型的字符串。 cout<<typeid(变量名).name<<
阅读全文
摘要:先看题目 物品不能分隔,必须全部取走或者留下,因此称为01背包 (只有不取和取两种状态) 看第一个样例 我们需要把4个物品装入一个容量为10的背包 我们可以简化问题,从小到大入手分析 weight value 2 1 3 3 4 5 7 9 先考虑物品数量为1的情况: 把前1件物品放入容量为1的背包
阅读全文
摘要:#include<windows.h> #include<iostream> using namespace std; int main(){ CONSOLE_FONT_INFOEX cfi; cfi.cbSize=sizeof(cfi); HANDLE handle=GetStdHandle(ST
阅读全文
摘要:#include<bits/stdc++.h> #define TRUE ((_BOOL)1) #define FALSE ((_BOOL)0) struct _BOOL{ char status; _BOOL(){ status=0; } _BOOL(int x){ if(x>0)status=1
阅读全文
摘要:#include<bits/stdc++.h> using namespace std; struct Array_iterator{ int *ptr; void operator++(){ ptr++; } int operator*(){ return *ptr; } bool operato
阅读全文
摘要:有人问:不用stdio.h能在控制台输出信息吗? 在Windows下,可以直接使用Windows API来完成,最近找到了一个函数WriteConsole,使用这个函数来在控制台输出信息。 #include<windows.h> int main(){ const char *str="Hello,
阅读全文
摘要:#include<bits/stdc++.h> using namespace std; int a[10]; int main(){ auto p=10; cout<<typeid(p).name(); //i } #include<bits/stdc++.h> using namespace s
阅读全文
摘要:由于原书的代码中API针对作者自制的系统,这里为适应C语言标准做了修改。 #include<bits/stdc++.h> using namespace std; const int INVALID=-0x7fffffff; char *skipspace(char *p) { for (; *p
阅读全文
摘要:2520是最小的能够被1到10整除的数。 最小的能够被1到20整除的数是多少? 题目意思: 求1-20之间所有数的最小公倍数。 题目分析: 1.我们知道,多个数之间的最小公倍数,可以使用分解质因数的方法进行。 例如我们要求1,2,3,4,5,6的最小公倍数,先分解质因数 然后,把每个质因子(2,3,
阅读全文
摘要:最近总是听说各类说法,例如数组的速度比指针快,或是指针的速度比数组快。事实上,这两种的速度是基本一致的。 关于链表的两种实现方式,经过测试,平均运行时间都在0.17s左右 刚才测得的一些数据: 链表 指针版 0.1932 0.1551 0.1618 0.1598 0.2269 平均0.1793 链表
阅读全文