![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构及算法
小小城御园
生命在于折腾,知识在于积累
展开
-
红黑树知识全面详解之节点插入
将一个节点插入到红黑树中,需要执行哪些步骤呢?首先,将红黑树当作一颗二叉查找树,将节点插入;然后,将节点着色为红色;最后,通过旋转和重新着色等方法来修正该树,使之重新成为一颗红黑树。详细描述如下:第一步: 将红黑树当作一颗二叉查找树,将节点插入。 红黑树本身就是一颗二叉查找树,将节点插入后,该树仍然是一颗二叉查找树。也就意味着,树的键值仍然是有序的。此外,无论是左旋还是右旋,若旋转...原创 2018-11-25 18:33:34 · 1551 阅读 · 1 评论 -
库函数argz_add、argz_add_sep使用方法
一、argz_add函数函数原型:error_t argz_add(char ** argz ,size_t * argz_len ,const char * str); 头文件:#include <argz.h> 返回值:0:成功ENOMEM:空间不足 功能:在数组* argz的末尾添加字符串str,并更新* argz和* argz_len: argz...原创 2019-05-26 14:40:02 · 579 阅读 · 0 评论 -
点阵字库HZK32的使用方法和显示
汉字库种类非常多,但是都是按照顺序排列的。前一个字节为该汉字的区号,后一个字节为该字的位号。每一个区记录94个汉字,位号则为该字在该区中的位置。因此,汉字在汉字库中的具体位置计算公式为:(94*(区号-1)+位号-1)*字节数(一个汉字字模占用的字节数)。以32*32点阵字库为例,计算公式则为:(94*(区号-1)+(位号-1))*32*32/8。32*32字模为长和宽都是32位的数...原创 2019-05-18 23:43:18 · 4703 阅读 · 0 评论 -
英文字符字模获取显示和旋转显示
字模文件ASC16文件中字符的位置为:char*16+1,比如,我们要取a的字模,我们只需要在ASC16文件的偏移地址为97*16+1的位置读取16字节的数据即为a的字模数据。 如下代码包括:8*16字模的获取显示,8*16的左旋转90°和右旋转90°的显示,以及8*16和16*8的字模的放大显示代码如下所示:#include <stdio.h&g...原创 2019-04-25 23:37:27 · 1079 阅读 · 1 评论 -
c和指针读书笔记二之注释
C语言中的注释以/*开始以*/结束,中间可以包含出*/之外的全部字符,注释不可以嵌套。注释会在预处理阶段被替换掉,取而代之的是一个空格,因此只要是可以在任何空格出现的位置出现。以下语句是等价的:y=x+1;y = x + 1;y =x+1;下面一组前三个语句是一致的:IntX;Int x;Int /*111111*/ x;Intx;...原创 2019-01-02 23:17:54 · 127 阅读 · 0 评论 -
c和指针读书笔记一之编译
Gcc的编译流程分为了四个步骤: 1.预处理,生成预编译文件(.文件):gcc –E hello.c –o hello.i 2.编译,生成汇编代码(.s文件):gcc –S hello.i –o hello.s 3.汇编,生成目标文件(.o文件):gcc –c hello.s –o hello.o 4.链接,生成可执行文件: gcc ...原创 2019-01-02 22:03:59 · 128 阅读 · 0 评论 -
为什么char类型的范围是 -128~+127
在C语言中, signed char 类型的范围为-128~127,每本教科书上也这么写,但是没有哪一本书上(包括老师)也不会给你为什么是-128~127,这个问题貌似看起来也很简单容易, 以至于不用去思考为什么,不是有一个整型范围的公式吗: -2^(n-1)~2^(n-1)-1 n为整型的内存占用位数,所以int类型32位 那么就是 -(2^31)~2^31 -1 即 -21474...转载 2019-01-04 22:22:11 · 212 阅读 · 0 评论 -
c和指针读书笔记三之转义字符
想在一些上下文中使用某一些特定字符的时候,比如说“”双引号,此时我们可以使用转义字符\,\?表示的是?,\”可以表示”,同事也可以防止三字母词。以下几种情况属于例外情况:\a 警告字符\b 退格键\f 进制字符\n 换行符\r 回车符\t 水平制表符\v 垂直制表符\ddd 表示1~3位八进制数所代表的字符 \ddd 表示1~3位八进制数所代...原创 2019-01-03 23:37:35 · 214 阅读 · 0 评论 -
二叉树的创建及三种遍历方式详解
创建一个如下图所示的二叉树程序如下:#include<stdio.h>#include<stdlib.h>//定义二叉树typedef struct _tree_node{ char date; struct tree_node *lchild;//左节点 struct tree_node *rchild;//右节点}tre...原创 2018-11-25 14:23:47 · 429 阅读 · 0 评论 -
库函数argz_append、argz_count使用方法
一、argz_append函数函数原型:error_t argz_append(char ** argz,size_t * argz_len,const char * buf,size_t buf_len); 头文件:#include <argz.h> 返回值:0:成功ENOMEM:空间不足 功能:在(* argz,* argz_len)之后追加argz向量(buf,b...原创 2019-05-26 15:14:37 · 1076 阅读 · 0 评论