note2

DAY03 Linux 极简入门 文件与目录的管理 命令 功能 ls 显示文件及目录信息 cp 拷贝 rm 删除 mv 移动 cp 拷贝 cp [irapdslu] 选项 -i 若文件存在,询问用户 -r 递归复制 -a pdr 的集合 -p 连同文件属性一起拷贝 -d 若源文件为连接文件的属性,则复制连接文件的属性 -s 拷贝为软连接 -l 拷贝为硬连接 -u 源文件比目的文件新才拷贝 rm 删除 rm [irf] <dir_or_file> 选项 -i 互动模式 -r 递归删除 -f force mv 移动 mv [ifu] <source…> mv source1 source2 souce3 dir 选项 -i 互动模式 -f force -u 源文件更新才会移动 文件内容的查阅 命令 功能 cat 正向连接读 tac 反向连接读 nl 输出行号显示文件 more 一页一页的显示文件内容 less 与 more 相似,但是可以上下翻看 head 只看头几行 tail 只看末尾几行 cat 正向连续读 cat [-AbEnTv] 选项:...

March 27, 2022 · 2 min · 268 words · xhwhis

note3

DAY04 使用 github 管理代码 创建一个空目录 mkdir hzoj cd hzoj pwd 把目录变成 git 仓库 git init 把文件添加到仓库 git add * 把文件提交到仓库 git commit * 查看结果 git status 把本地库的所有内容推送到远程库上 git remote add origin [email protected]:lws597/HZOJ.git git push -u origin master

March 27, 2022 · 1 min · 37 words · xhwhis

note4

DAY05 输出函数说明 printf 函数 头文件:stdio.h 原型:int printf(const char *format,…); format:格式控制字符串 …:可变参数列表 返回值:输出字符类型 输出函数说明 scanf 函数 头文件:stdio.h 原型:int scanf(const char *format,…); format:格式控制字符 …:可变参数列表 返回值:成功读入列表 请使用 printf 函数,求解一个数字 n 的十进制表示的数字位数 #include<stdio.h> int main(){ int n; while(scanf("%d",&n)!=EOF){ printf(" has %d digits\n",printf("%d",n)); } return 0; } 请写一个程序,读入一个行字符串(可能包含空格),输出这个字符串中字符的数量 #include<stdio.h> int main(){ char str[100]; while(scanf("%[^\n]s",str)!=EOF) { getchar(); printf(" has %d chars\n",printf("%s",str)); } return 0; } sprintf 和 fprintf 代码演示 #include <stdio.h> #define swap(a, b) { \ __typeof(a) temp = a;\ a = b, b = temp; \ } int main() { printf("%c\n", 97); int n; scanf("%d", &n); printf("%04d\n", n); char str[100], buff[100], *p = str, *q = buff; sprintf(str, "%d....

March 27, 2022 · 1 min · 158 words · xhwhis

printf

printf 输出颜色和 ANSI 控制码(高亮,下划线,闪烁,光标位置,清屏等) 颜色: #define NONE “/033[m” #define RED “/033[0;32;31m” #define LIGHT_RED “/033[1;31m” #define GREEN “/033[0;32;32m” #define LIGHT_GREEN “/033[1;32m” #define BLUE “/033[0;32;34m” #define LIGHT_BLUE “/033[1;34m” #define DARY_GRAY “/033[1;30m” #define CYAN “/033[0;36m” #define LIGHT_CYAN “/033[1;36m” #define PURPLE “/033[0;35m” #define LIGHT_PURPLE “/033[1;35m” #define BROWN “/033[0;33m” #define YELLOW “/033[1;33m” #define LIGHT_GRAY “/033[0;37m” #define WHITE “/033[1;37m” 比如: printf("/033[31m ####—–>> /033[32m" “hello/n” “/033[m”) int main() { printf( CYAN “current function is %s " GREEN " file line is %d/n” NONE,...

March 27, 2022 · 1 min · 191 words · xhwhis

RBTree

RedBlack_Tree 五个条件 节点非黑即红 根节点是黑色的 叶节点(NIL)是黑色的 如果一个节点是红色的,则它的两个子节点都是黑色的 从根节点出发到所有叶节点路径上,黑色节点数量相同 最短路径全黑,节点数 a,最长路径有相同多个黑色节点(条件 5) ,红色节点不能连续(条件 4),节点数 2a 调整策略 插入节点站在祖父节点看 删除调整站在父节点看 插入调整 用带有两个黑色的 NIL 的新节点替换 NIL 叶节点 为了方便调整,新结点初始为红色(黑色节点影响条件 5) 情况一 插入节点的父节点是黑色 直接插入 情况二 插入节点的父节点和叔节点都是红色 父节点、叔节点染成黑色,祖父节点染成红色 情况三 LL 插入节点的父节点是红色,叔节点是黑色,插入节点是父节点的左孩子,父节点是祖父节点的左孩子 祖父节点右旋,祖父节点染成红色,父节点染成黑色 情况四 LR 插入节点的父节点是红色,叔节点是黑色,插入节点是父节点的右孩子,父节点是祖父节点的左孩子 父节点左旋,转换为情况三(祖父节点右旋,祖父节点染成红色,父节点染成黑色) 删除调整 情况一 兄弟节点是红色 父节点左旋,父节点染成红色,兄弟节点染成黑色 情况二 父节点、兄弟节点和兄弟节点的子节点都是黑色 父节点左旋,父节点染成红色 情况三 父节点红色,兄弟节点和兄弟节点的子节点都是黑色 父节点左旋 情况四 父节点任意颜色,兄弟节点的右儿子红色,删除节点是父节点的左儿子 父节点左旋,交换父节点、兄弟节点的颜色,兄弟节点的右孩子染成黑色 情况五 父节点任意颜色,兄弟节点的左儿子红色,删除节点是父节点的左儿子 兄弟节点染成红色,兄弟节点的左儿子染成黑色,兄弟节点右旋,转换为情况四

March 27, 2022 · 1 min · 54 words · xhwhis