红黑树C语言实现 发表于 2019-03-09 更新于 2023-10-11 分类于 algorithm Waline: 阅读次数: 节点定义 123456789101112131415161718enum color_t {RED,BLACK};typedef int Type;typedef struct RBTreeNode{ struct RBTreeNode *left; struct RBTreeNode *right; struct RBTreeNode *parent; enum color_t color; Type key;}Node;//根节点typedef struct RBRoot{ Node* root; Node *nil;//叶子(空指针)}rb_root; 插入 123456789101112131415161718192021222324252627//插入与AVL树完全相同,最后调整即可//新插入指针初始化颜色为红色void rb_insert(rb_root* T,Node* z){ Node* y=T->nil; Node* x=T->root; while(x!=T->nil){ y=x; if(x->key<z->key){ x=x->right; }else x=x->left; } z->parent=y; if(y==T->nil) T->root=z; else if(z->key<y->key) y->left=z; else y->right=z; z->left=z->right=T->nil; z->color=RED; rb_insert_fix(T,z); //修正红黑树}//创建新节点void rb_insert_type(rb_root* T,Type key){ Node *p=(Node*)malloc(sizeof(Node)); p->color=RED; p->key=key; p->left=p->right=p->parent=T->nil; rb_insert(T,p);} 插入修正函数 阅读全文 »
SHELL编程 发表于 2019-03-09 更新于 2023-10-11 分类于 Linux Waline: 阅读次数: 程序开始与注释 1#!/bin/bash 变量 shell变量 shell变量没有数据类型,都是字符串,即使数值也是字符串 阅读全文 »
Linux常用指令 发表于 2018-03-11 更新于 2023-10-11 分类于 Linux Waline: 阅读次数: 1234567891011121314151617181920#列出文件系统的整体磁盘空间情况df[选项][文件名]-h:--human-readable#显示每个文件和目录的磁盘使用情况du[选项][文件名]du --max-depth=0 /#<重定向输入 >重定向输出 >> 添加输出 2>错误重定向输出 &>错误和信息重定向输出cat >file1<file2./main text1.txt >text5.txt 2>&1#显示前几行head -n 10 main.cc#显示文件后几行tail -n 10 main.cc#汉字编码转换iconv -f utf-8 -t gb2312 hanzi>hanzi1#搜索文件内容grep#管道查询程序#将a.txt中的aa替换为bb输出到b.txtcat a.txt|sed 's/aa/bb'>b.txt