• 2024-11-13手搓双向循环链表
    文章目录前言一、链表的结构二、双向链表2.1概念与结构2.2实现双向链表总结前言上一篇我们学习了单链表的概念以及单链表的实现,但链表可不止单链表一种,今天我们来整体学习链表这个小小卡拉米,Follwme一、链表的结构链表的结构多种多样,有带头的不带头的,有单
  • 2024-10-31链表(数据结构)
    一.单链表1.1概念与结构再上一篇中我们讲到顺序表,但是顺序表也是有很多的问题,像申请的空间过多过少或者增容该才能不浪费空间,今天我们就来认识一个新的知识,叫做链表,链表也是线性表的一种,链表是一种物理存储结构上非连续、非顺序的存储结构,数据结构的逻辑顺序是通过链表中的
  • 2024-10-24【C++】红黑树万字详解(一文彻底搞懂红黑树的底层逻辑)
    目录00.引入01.红黑树的性质02.红黑树的定义03.红黑树的插入1.按照二叉搜索树的规则插入新节点2.检测新节点插入后,是否满足红黑树的性质1.uncle节点存在且为红色2.uncle节点不存在3.uncle节点存在且为黑色 04.验证红黑树00.引入和AVL树一样,红黑树也是一种自平
  • 2024-10-16【C++】精妙的哈希算法
  • 2024-09-01红黑树
    红黑树的概念:红黑树是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩倍,因而是接近平衡的。红黑树的性质:每个结点不是红色就是黑色根
  • 2024-07-27手撕数据结构---------顺序表和链表
    1.线性表线性表(linearlist)是n个具有相同特性的数据元素的有限序列。线性表是⼀种在实际中⼴泛使⽤的数据结构,常⻅的线性表:顺序表、链表、栈、队列、字符串…线性表在逻辑上是线性结构,也就说是连续的⼀条直线。但是在物理结构上并不⼀定是连续的,线性表在物理上存储时,通常
  • 2024-07-21初阶数据结构的实现2 双向链表
    1.双向链表1.1概念与结构1.2实现双向链表1.2.1定义程序目标#define_CRT_SECURE_NO_WARNINGS1#pragmaonce#include<stdio.h>#include<assert.h>#include<stdlib.h>#include<stdbool.h>typedefintLTDateType;//定义双向链表结构typedefstructListNode{
  • 2024-07-20数据结构-双链表
    一.概念与结构链表的结构丰富多样,基本分为以下的八种(2×2×2)1.1单项或双向双向链表区别于单向链表的是,其多了一个指针区域,指向其前一个结点,这样就可以通过任意一个结点进行前后遍历.1.2带头或不带头带不带头指的是其有无头结点,即下图的head结点,这个结点是一个
  • 2024-07-08多边形填充-活动边表法
    参考文档:参考1:https://blog.csdn.net/u013044116/article/details/49737585参考2:https://blog.csdn.net/keneyr/article/details/83747501算法思想:对多边形沿y轴从0开始遍历,建立边表NET。只记录顶点的x,dx,ymax。根据NET构建活动边表AET(activateedgetable)。射线与多边
  • 2024-07-07浅谈进程隐藏技术
    前言在之前几篇文章已经学习了解了几种钩取的方法●浅谈调试模式钩取● 浅谈热补丁● 浅谈内联钩取原理与实现● 导入地址表钩取技术这篇文章就利用钩取方式完成进程隐藏的效果。进程遍历方法在实现进程隐藏时,首先需要明确遍历进程的方法。CreateToolhelp32Snapshot
  • 2024-06-02【C语言项目实战】使用单链表实现通讯录
                                                                  
  • 2024-06-01单链表实现通讯录
    之前我们完成了基于顺序表(动态)实现通讯录,现在我们链表学完了,可以尝试着使用链表来实现我们的通讯录。首先我们要明白我们写的通讯录是由一个个节点组成的,每个节点里存储的就是我们的联系人信息。也就是说我们需要先写一个单链表,完成单链表的插入,删除等功能。然后在单链表
  • 2024-05-31【C语言】基于C语言实现的贪吃蛇游戏
    【C语言】基于C语言实现的贪吃蛇游戏
  • 2024-04-09【数据结构与算法篇】单链表及相关OJ算法题
    【数据结构与算法篇】单链表及相关OJ算法题
  • 2023-08-23【操作系统】2.进程和线程
    1.操作系统的多进程图像操作系统main函数中最后if(!fork()){init();},也就是main函数最后创建了第1个进程,init执行了shell(Windows)桌面。操作系统管理和组织进程都使用PCB(ProcessControlBlock),不同的程序的PCB放在不同的位置,用于记录该进程运行时的状态。操作系统对进程
  • 2023-06-01C语言链表
    #define_CRT_SECURE_NO_WARNINGS#include<stdlib.h>#include<string.h>#include<stdio.h>/*structTeacher{charname[64];intid;char*p;char**p2;};typedefstructTeacherTeacher;*/typedefstructStudent
  • 2023-05-10C++如何获取网卡地址(跨平台)
    需求:获取电脑网卡的硬件地址。就是Linux下运行ifconfig出来的硬件地址。直接上代码:windows下运行ipconfig/all 显示的物理地址。  头文件:GetMacAddrFunc.h#ifndef__DDR_GET_MAC_ADDR_FUNC_H_INCLUDED__#define__DDR_GET_MAC_ADDR_FUNC_H_INCLUDED__#
  • 2023-04-22剑指Offer——24.反转链表(c语言)
    title:剑指Offer24.反转链表(c语言)定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入:1->2->3->4->5->NULL输出:5->4->3->2->1->NULL限制:$$0\leqslant节点个数\leqslant5000$$代码如下:/***Definitionforsingly-linkedlist.
  • 2023-04-22力扣——83.删除排序链表中的重复元素(c语言)
    title:力扣——83.删除排序链表中的重复元素(c语言)题目描述:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例1:输入:1->1->2输出:1->2示例2:输入:1->1->2->3->3输出:1->2->3代码如下:/***Definitionforsingly-linkedlist.*structListNode{*
  • 2023-04-0914.7.2014年41题真题讲解
    function.h////Createdby93757on2023/3/21.//#ifndefINC_1_TREE_FUNCTION_H#defineINC_1_TREE_FUNCTION_H#include<stdio.h>#include<stdlib.h>typedefintBiElemType;typedefstructBiTNode{BiElemTypeweight;//c就是书籍上的data
  • 2023-04-0914.6二叉树的层序遍历实战
    function.h////Createdby93757on2023/3/21.//#ifndefINC_1_TREE_FUNCTION_H#defineINC_1_TREE_FUNCTION_H#include<stdio.h>#include<stdlib.h>typedefcharBiElemType;typedefstructBiTNode{BiElemTypec;//c就是书籍上的datastru
  • 2023-04-09二叉树前序中序后序遍历实战
    function函数////Createdby93757on2023/3/21.//#ifndefINC_1_TREE_FUNCTION_H#defineINC_1_TREE_FUNCTION_H#include<stdio.h>#include<stdlib.h>typedefcharBiElemType;typedefstructBiTNode{BiElemTypec;//c就是书籍上的datastru
  • 2023-04-0914.4二叉树层次建树
    创建function函数////Createdby93757on2023/3/21.//#ifndefINC_1_TREE_FUNCTION_H#defineINC_1_TREE_FUNCTION_H#include<stdio.h>#include<stdlib.h>typedefcharBiElemType;typedefstructBiTNode{BiElemTypec;//c就是书籍上的datast