红黑树 1.二叉查找树 首先要了解的是二叉查找树,也称为二叉排序树,优点是在节点均匀分布的情况下,查找效率更高,缺点是,如果节点分布在一侧,查找时间就会约等于数组从头到尾的去查找。 二叉查找树的子树都是二叉查找树。 左子树都小于根节点,右子树都大于根节点 2.平衡二叉查找树 其次,平衡二叉查找树,也称为AVL树,AVL是它的两个发明者的名字组成。它有一套插入,删除的平衡机制,让插入删除后使用相
(目录) 信号 1. 信号状态 信号有三种状态:产生、未决和递达 信号产生方式: 按键产生,ctrl+c 产生 中断信号SIGINT,ctrl + \ 产生退出信号 SIGQUIT并生成core文件,ctrl +z产生停止信号SIGSTOP 系统调用,例如kill、raise、abort函数 定时器 发生异常 信号未决状态: 是指信号在阻塞信号集中被设置为阻塞,那么接收到这个信号后,会
(目录) gdb简介 GDB(GNU Debugger)是GCC的调试工具。 要使用GDB,需要在源代码编译的时候添加 -g 参数。 用到四个基础文件 file1.c、file2.c 、head.h、hello.c,一个 makefile 文件 其中文件file1.c 如下: #include"head.h" int sum(int a, int b) { print
(字符串及其函数) 字符串及其函数 c语言 没有字符串类型,所以大多用字符数组代替。 1. 字符串的输入输出 使用 scanf 和 printf 的通用输入输出。 #include <stdio.h> #include <stdlib.h> /* run this program using the console pauser or add your own ge
文件分为二进制文件和文本文件,文本文件里面保存的内容形式是ASCII字符,二进制文件里面内容保存形式是01表示的。文件的主要作用是用来进行数据的持久化,能去长久的保存数据。这里f开头的文件操作命令,大多是c标准库里面的文件操作命令
IO多路复用(I/O Multiplexing)是指通过一种机制,可以监视多个文件描述符(socket、终端、文件等),一旦某个文件描述符就绪(可读、可写、出错),就能够立即通知应用程序进行相应的读写操作,从而实现同时处理多个I/O事件的能力
以下内容通过pipe、fifo、mmap来进行进程间通信
[C语言] 多进程/多线程服务器。多进程和多线程是常用的并发编程技术。它们都允许程序同时执行多个任务,提高了系统的资源利用率和程序的运行效率
(元表与元方法) 简介 在Lua中,元表(metatable)是一种特殊的表,用于控制其他表的行为。每个表可以关联一个元表,通过设置元表和元方法,可以修改表的一些默认行为。 元方法(metamethod)是一种特殊的函数,用于定义表的一些特殊操作。 元方法通过在元表中定义特定的字段来实现。例如,当表进行加法操作时,Lua会检查表的元表中是否定义了__add字段。如果定义了__add字段
(C# 类二) 简介 主要记录的是面向对象编程中,类的解构器,方法的使用,索引器和终结器及相关的注意事项 面向对象编程 类 第二篇 4. 解构器 要求C# 7.0以上 这里的解构器可以看做是构造器的反向操作,解构器可以把一个对象赋值给一个元组 解构器必须要下面这种形式,必须是Deconstruct这个名字,必须要有out传出参数。 public void Deconstruct(out str
(Ubuntu2204配置静态ip) Ubuntu2204配置静态ip 1. 编辑网络配置文件 sudo vim /etc/netplan/00-installer-config.yaml 2. 输入下面配置 将静态ip设置为192.168.3.200 ,并设置路由器地址192.168.3.1,以及dns地址 223.5.5.5和223.6.6.6 dhcp4: f
(vim编辑器) vim模式切换 vim编辑器常用的有编辑模式和命令模式,其中编辑模式就是移动光标,然后进行编辑。命令模式就是使用一些命令,提高编辑效率的一些方法。 vim使用: vim + 文件名 模式切换操作 在命令模式,输入 i ,进入编辑模式 在命令模式中,输入: 或 / 进行命令操作 在编辑模式中,输入Esc,退出编辑模式,进入命令模式 输入操作 vim进入编辑器默
(Shell基础语法全解) 一、shell简介 shell是命令解释程序,它有很多种,例如:sh、bash、ash、dash等。 不同系统可能会使用不同的shell #查看当前系统使用的shell是哪种 echo $SHELL #输出,当前系统默认使用bash /bin/bash 二、shell格式 2.1 新建一个shell脚本文件 #创建hello.sh文件 touch hello.sh #
udp使用的是数据报传输。可以一对一,一对多进行传输,用于快速,实时性高的场景 服务器端: 使用步骤: 1.创建socket 2.bind绑定可接收的客户端 3.while{ recv接收数据 send发送数据 } #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ct
(【C语言】线程同步) 线程同步 线程同步是指在多线程的情况下,如果多个线程去访问共享资源,需要按照一定规则顺序依次去访问,保证共享资源的数据一致性。 1. 互斥锁 互斥相关函数 //互斥量 pthread_mutex_t mutex; //pthread_mutex_init() //互斥量初始化 int pthread_mutex_init(pthread_mutex_t *restri
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号