01 2021 档案

有向图邻接矩阵代码实现
摘要:1 //有向图邻接矩阵代码实现 2 3 #include<iostream> 4 using namespace std; 5 #define MaxVertex 50 //最多顶点个数 6 typedef char VertexInfo[9];//定义顶点的名字 7 //定义图的数据结构 8 st 阅读全文
posted @ 2021-01-30 14:30 Sna1lGo 阅读(370) 评论(0) 推荐(0)
无向图邻接矩阵代码实现
摘要:1 //无向图邻接矩阵代码实现 2 3 #include<iostream> 4 using namespace std; 5 #define MaxVertex 50 //最多顶点个数 6 typedef char VertexInfo[9];//定义顶点的名字 7 //定义图的数据结构 8 st 阅读全文
posted @ 2021-01-30 14:24 Sna1lGo 阅读(444) 评论(0) 推荐(0)
数据结构-图-概念
摘要:数据结构-图-概念 图的概念 图的定义和术语 图的定义 图是由顶点的有穷非空集合和顶点之间的边的集合组成的,通常表示为G=(V,E),其中,G表示一个图,V表示G中顶点的集合,E表示G中边的集合 无向边 若顶点Vi 到Vj 的边没有方向,则称这条边为无向边,用无序偶对 (Vi ,Vj)来表示 有向边 阅读全文
posted @ 2021-01-30 12:52 Sna1lGo 阅读(254) 评论(0) 推荐(0)
STL- 常用算法
摘要:STL- 常用算法 概述: 算法主要是由头文件<algorithm> <functional> <numeric>组成。 <algorithm>是所有STL头文件中最大的一个,范围涉及到比较、 交换、查找、遍历操作、复制、修改等等 <numeric>体积很小,只包括几个在序列上面进行简单数学运算的模 阅读全文
posted @ 2021-01-28 22:36 Sna1lGo 阅读(115) 评论(0) 推荐(0)
STL——函数对象(仿函数)
摘要:STL——函数对象(仿函数) 函数对象 概念: 重载函数调用操作符的类,其对象常称为函数对象 函数对象使用重载的()时,行为类似函数调用,所以也叫仿函数 本质 函数对象的本质是一个类,而不是一个函数 函数对象的使用 特点: 函数对象在使用的时候,可以像普通函数一样调用,可以有参数,可以有返回值 函数 阅读全文
posted @ 2021-01-28 22:10 Sna1lGo 阅读(107) 评论(0) 推荐(0)
STL——案例-员工分组
摘要:STL——案例-员工分组 公司今天招聘了10个员工(ABCDEFGHIJ),10名员工进入公司之后,需要指派员工在那个部门工作员工信息有: 姓名 工资组成;部门分为:策划、美术、研发随机给10名员工分配部门和工资通过multimap进行信息的插入 key(部门编号) value(员工)分部门显示员工 阅读全文
posted @ 2021-01-28 17:51 Sna1lGo 阅读(82) 评论(0) 推荐(0)
STL——map/multimap
摘要:STL——map/multimap 简介: map中所有元素都是pair pair中第一个元素为key(键值),起到索引作用,第二个元素为value(实值) 所有元素都会根据元素的键值自动排序 本质: map/multimap属于关联式容器,底层结构是用二叉树实现。 优点: 可以根据key值快速找到 阅读全文
posted @ 2021-01-28 17:17 Sna1lGo 阅读(74) 评论(0) 推荐(0)
STL——set/multiset容器
摘要:STL——set/multiset容器 基本概念 所有元素都会在插入时自动被排序 本质 set/multiset属于关联式容器,底层是由二叉树实现 set和multiset的区别 set不允许容器有重复元素 multiset允许容器有重复的元素 set构造和复制 构造 set<T> st; 默认构造 阅读全文
posted @ 2021-01-28 16:18 Sna1lGo 阅读(72) 评论(0) 推荐(0)
数据结构-树-哈夫曼树
摘要:数据结构-树-哈夫曼树 概念 路径和路径长度 在一棵树中,从一个节点往下可以达到的孩子或孙子节点之间的通过,称为路径。通路中分支的数目称为路径长度。若规定根节点的层数为1,则从根节点到第L层节点的路径长度为L-1 节点的权及带权路径长度 若将树中节点赋给一个有着某种意义的数值,则这个数值称为该结点的 阅读全文
posted @ 2021-01-28 14:49 Sna1lGo 阅读(153) 评论(0) 推荐(0)
数据结构-二叉树编程
摘要:数据结构-二叉树编程 求二叉树叶子数量 如果节点的左子树与右子树相同且为NULL int num=0;void GetLeavesNum(BN* a){ if (a == NULL) return; if (a->lchild == NULL && a->rchild == NULL) { num+ 阅读全文
posted @ 2021-01-28 02:09 Sna1lGo 阅读(131) 评论(0) 推荐(0)
数据结构-二叉树
摘要:数据结构-二叉树 二叉树基本性质 1 二叉树的基本性质 1.1 性质1: 在二叉树的第i层上至多有2^(i-1)个结点(i>0) 1.2 性质2: 深度为k的二叉树至多有2^k - 1个结点(k>0) 1.3 性质3: 对于任何一棵二叉树,若度为2的结点数有n2个,则叶子数(n0)必定为n2+1 ( 阅读全文
posted @ 2021-01-28 00:38 Sna1lGo 阅读(147) 评论(0) 推荐(0)
数据结构-树
摘要:数据结构-树 树——是一种专门用来解决一对多的数据结构,参考一个文件夹下面有很多个文件 树的基本概念 根 没有前驱 叶子 没有后继 双亲 直接前驱 孩子 直接后继 节点的度 直接后继的数量 树的度 节点的度中取最大的值 树的高度/深度 最大层数 表示法:图形、广义 、左孩子右兄弟(将多叉树转为二叉树 阅读全文
posted @ 2021-01-27 22:38 Sna1lGo 阅读(136) 评论(0) 推荐(0)
STL——list容器
摘要:STL——list容器 其实也就是链表,通过指针来连接起来 构造函数 list<T> list //list采用模板 list(beg,end) //构造函数将【beg,end)区间中的元素拷贝给自己 list(n,elem) //将n个elem拷贝给本身 list(const list &lst) 阅读全文
posted @ 2021-01-27 15:25 Sna1lGo 阅读(67) 评论(0) 推荐(0)
STL——queue容器
摘要:STL——queue容器 stack(队列)是一个先进先出的数据结构 构造函数 queue<T> que queue(const queue &stk) 赋值操作 queue& operator=(const queue &que) 重载等号运算符 数据存取 push(elem);向队尾中添加元素 阅读全文
posted @ 2021-01-27 14:26 Sna1lGo 阅读(56) 评论(0) 推荐(0)
STL——stack容器
摘要:STL——stack容器 stack(栈)是一个先进后出的数据结构 构造函数 stack<T> stk stack(const stack &stk) 赋值操作 stack& operator=(const stack &stk) 重载等号运算符 数据存取 push(elem);向栈中添加元素 po 阅读全文
posted @ 2021-01-27 14:16 Sna1lGo 阅读(51) 评论(0) 推荐(0)
STL案例
摘要:# STL案例 ​ 有5名选手,选手ABCED,10个评委打分,去除最高分和最低分得到平均分 ```#include<iostream>#include<string>#include<vector>#include<deque>#include<random>#include<algorithm> 阅读全文
posted @ 2021-01-27 13:52 Sna1lGo 阅读(88) 评论(0) 推荐(0)
C++——模板
摘要:C++——模板 模板就是建立通用的模具,大大提高复用性 模板的特点: 模板不可以直接使用,它只是一个框架 模板的通用并不是万能的 C++另一种编程思想称为 ==泛型编程== ,主要利用的技术就是模板 C++提供两种模板机制:函数模板和类模板 函数模板 函数模板作用: 建立一个通用函数,其函数返回值类 阅读全文
posted @ 2021-01-25 18:54 Sna1lGo 阅读(86) 评论(0) 推荐(0)
C/C++反汇编-各种表达式
摘要:C/C++反汇编-各种表达式 基于vs2019的反汇编 优化 对于vs来说一般的优化有两种方案: O1:生成可执行文件空间小 O2:执行效率高 在vs2019中的release默认是采用的O2方案来处理也就是执行效率优先,而在debug版本中为了调试比较方便可能就会优化比较少。接下来的反汇编会在re 阅读全文
posted @ 2021-01-24 19:38 Sna1lGo 阅读(352) 评论(0) 推荐(0)
Windows编程-异步IO-2
摘要:Windows编程-异步IO-2 如果进行多个ReadFile或者别的文件操作的函数,调用WaitForSingleObject等待的是句柄,所以没有办法鉴别是那一个文件操作函数执行完毕。 异步IO结构体-overlapped typedef struct _OVERLAPPED { ULONG_P 阅读全文
posted @ 2021-01-24 02:53 Sna1lGo 阅读(136) 评论(0) 推荐(0)
Windows编程-异步IO-1-
摘要:Windows编程-异步IO-1- 当我们读取一个文件时,一般情况下,线程是阻塞的,也就是当前线程在等待文件读取操作结束,也就是这个线程只用来读文件,等读完了再返回。这种方式叫做同步IO。 Windows在系统底层为用户实现了另一种高效的机制,叫做重叠I/O,又称作异步I/O。异步I/O操作提供了一 阅读全文
posted @ 2021-01-24 02:52 Sna1lGo 阅读(295) 评论(0) 推荐(0)
Windows编程-线程-线程同步2
摘要:Windows编程-线程-线程同步2 也是游戏防止多开的原理 事件 事件(Event)是在线程同步中最常使用的一种同步对象,事件包含一个使用计数,一个是用来表示自动重置/手动重置的布尔值,另一个是表示事件有没有触发的布尔值。 事件对象有两种状态:1、手动状态。2、自动状态 手动状态事件对象的激发态和 阅读全文
posted @ 2021-01-24 02:51 Sna1lGo 阅读(105) 评论(0) 推荐(0)
Windows编程-线程同步-1-(临界体,互斥体)
摘要:多个线程访问相同资源的时候会产生冲突 解决方案A:原子操作函数 imterpckedIncrement()原子自增函数 解决方案B: 临界区:原子操作只能解决某一个变量,只能使得一个整形变量,但是如果要进行一整段代码,就需要用到临界区 EnterCriticalSection进入临界区 LeaveC 阅读全文
posted @ 2021-01-23 00:03 Sna1lGo 阅读(273) 评论(0) 推荐(0)
Windows编程-线程相关操作
摘要:Windows编程-线程 概念 进程是操作系统分配资源的单位,线程是执行任务的单元。一个进程至少有一个线程。线程还可以再创建线程,不过每一个线程都是独立的执行单元,相互间没有从属关系 创建线程-CreateThread 每个程序都会有一个主线程也就是每个程序的最开始跑的线程。 HANDLE Crea 阅读全文
posted @ 2021-01-22 01:37 Sna1lGo 阅读(183) 评论(0) 推荐(0)
Windows编程-控件的使用-按钮
摘要:Windows编程-控件的使用-按钮 控件的创建方式 通常有两种方式: 1 CreateWindow创建,用Windows内置类名 2 用在对话框资源上面的托拉拽方式创建 创建方法有不同但是使用的时候是一样的 操作控件的相关函数 函数名效果 GetDlgItem 获得控件的句柄 SendMessag 阅读全文
posted @ 2021-01-21 21:15 Sna1lGo 阅读(482) 评论(0) 推荐(0)
Windows编程-资源操作
摘要:Windows编程-资源操作 资源也就是东西,意思就是把东西引入到Windows编程中。这里的资源主要是光标图标背景这一系列东西 如何添加资源 windows封装了资源,所以不能直接用资源来操作,只能用资源句柄来操作。 LoadXXX:XXX是资源类型 LoadIcon 载入图标 LoadCurso 阅读全文
posted @ 2021-01-21 18:00 Sna1lGo 阅读(283) 评论(0) 推荐(0)
Windows编程-窗口操作函数
摘要:Windows编程-窗口操作函数 通用函数 函数说明 MoveWindow 移动窗口 UpdateWindow 更新窗口 GetWindowText 获取文本框内容 SetWindowText 设置窗口标题 FindWindow 查找窗口返回句柄 GetClientRect 获取窗口客户区大小 Se 阅读全文
posted @ 2021-01-20 17:48 Sna1lGo 阅读(616) 评论(0) 推荐(0)
windows编程-窗口控件
摘要:windows编程-窗口控件 Windows控件定义 控件是常见的窗口上的交互元素,当控件的特定功能被触发后,会主动发送消息通知父窗口,父窗口可以通过发送消息给窗口控制控件的行为。控件的本质也是一个窗口。 控件就相当于一个专门用来发送消息给窗口的窗口 Windows窗口风格 Windows窗口特点主 阅读全文
posted @ 2021-01-20 12:31 Sna1lGo 阅读(708) 评论(0) 推荐(0)
Windows编程-消息处理
摘要:Windows编程-消息处理 windows通用消息 通用消息标志都定义在WINUSER.H中,以WM_开头,大概分为三类 1 窗口消息 如:VM_CREATE(窗口创建),VM_CLOSE(窗口关闭) 2 命令消息 特指:VM_COMMAND消息,与处理用户请求有关,如点击工具栏等 3 通知消息 阅读全文
posted @ 2021-01-20 00:52 Sna1lGo 阅读(183) 评论(0) 推荐(0)
Windows编程-图形化框架
摘要:Windows编程-图形化框架 创建窗口 1 创建一个窗口类-WNDCLASS typedef struct tagWNDCLASSA { UINT style; WNDPROC lpfnWndProc; int cbClsExtra; int cbWndExtra; HINSTANCE hInst 阅读全文
posted @ 2021-01-19 19:13 Sna1lGo 阅读(707) 评论(0) 推荐(0)
windows-文件相关操作
摘要:windows-文件相关操作 函数名称功能 DeleteFile 删除指定文件 CopyFile 复制指定文件 CreateFile 创建或者打开I/O设备 MoveFile 移动文件 ReadFile 读取文件 WriteFile 向文件写入内容 GetFileSize 获取文件大小 Create 阅读全文
posted @ 2021-01-17 15:52 Sna1lGo 阅读(250) 评论(0) 推荐(0)
x86-函数反汇编
摘要:函数反汇编 调用过程: 1.传参:通过push指令把参数压入栈 2call指令函数地址:跳转到call的函数地址 3 push ebp 保存栈底指针 4 mov ebp,esp 提升栈底指针,和栈顶相同 5 sub esp,xxx 第3-第5步可以理解为重新给函数开辟一个栈空间 6 push 寄存器 阅读全文
posted @ 2021-01-14 11:14 Sna1lGo 阅读(271) 评论(0) 推荐(0)
汇编语言-端口(port)
摘要:汇编语言-端口(port) 相当于计算机和硬件还有网络的传输交流的一个通道 硬件端口 CPU通过接口寄存器或特定电路与外设进行数据传送,这些寄存器或特定电路称之为端口。 其中硬件领域的端口又称接口,如:并行端口、串行端口等。 网络端口 在网络奇数中,端口(Port)有好几种意思。集线器、交换机、路由 阅读全文
posted @ 2021-01-14 01:16 Sna1lGo 阅读(1876) 评论(0) 推荐(0)
汇编语言-int指令-1-
摘要:汇编语言-int指令-1- 终端信息可以由CPU的外部和内部,这里也可以有int指令引发终端 int指令 int指令的格式为,int n,n为中断类型码 功能:引发中断 执行过程 1 取终端类型码n 2 标志寄存器入栈 3 cs,ip入栈 4 跳转 BIOS和DOS所提供的中断例程 在系统板的ROM 阅读全文
posted @ 2021-01-14 01:04 Sna1lGo 阅读(500) 评论(0) 推荐(0)
汇编语言-中断-1
摘要:汇编语言-中断-1 任何一个CPU,都可以在执行当前指令后收到另外一个信息来对新的信息来处理。 中断是意思就是CPU不在继续向下执行,而是转到处理别的信息。 中断信息可以是CPU的内部和外部、 外部中断一般是指由计算机外设产生的中断请求,如:键盘中断,打印机中断等等 内部中断是指因硬件出错(如突然断 阅读全文
posted @ 2021-01-14 00:49 Sna1lGo 阅读(804) 评论(0) 推荐(0)
标志寄存器
摘要:标志寄存器 CPU内部有一种特殊寄存器,用来存储相关指令的某些结果,用来为CPU执行相关指令提供行为依据,用来控制CPU的相关工作方式 这种寄存器在8086中称为标志寄存器,8086中的标志寄存器通常是16位,flag寄存器是每一位有每一位的意义和普通寄存器不同。 ZF标志 flag的第六位是ZF, 阅读全文
posted @ 2021-01-14 00:15 Sna1lGo 阅读(672) 评论(0) 推荐(0)
CALL和RET指令
摘要:CALL和RET指令 call和ret属于转移指令,都修改IP或者CS,IP。进程用来设计子程序,也就是函数 ret和retf ret指令用栈中的数据来修改IP,实现近转移 retf指令用栈中的数据来修改cs和ip,实现远跳转 ret 在汇编中执行ret的指令时,需要进行两步操作 (ip)=((ss 阅读全文
posted @ 2021-01-12 21:23 Sna1lGo 阅读(874) 评论(0) 推荐(0)
windows-进程相关操作
摘要:进程相关操作 函数功能 CreateProcess 创建进程 OpenProcess 打开进程 ExitProcess 退出本进程 TerminateProcess 结束指定进程 WinExec 启动一个进程 ShellExecute 运行一个外部程序,或者打开一个文件目录,文件夹等等 system 阅读全文
posted @ 2021-01-11 21:58 Sna1lGo 阅读(245) 评论(0) 推荐(0)
初步利用CE分析游戏人物结构
摘要:初步利用CE分析游戏人物结构 工具 CE 6.8.1 游戏:口袋西游 注册使用账户 利用CE分析 这里我猜测,这个角色和各种模型肯定是用面向对象的思想来处理的,所以这里我先利用筛选的思想找到了血量的地址,虽然没有找动态地址,但是这里没关系 我在这里修改了这个内存的值后很明显的可以看到变化所以我这里的 阅读全文
posted @ 2021-01-09 20:58 Sna1lGo 阅读(1015) 评论(0) 推荐(0)
windows-进程线程
摘要:进程线程 windows系统 windows是C和汇编写的,但是是采用的面向对象的思想写的,一个一个windows的对象本质上都是结构体变量,但是windows并不想直接暴露结构体,于是windows采用了句柄来封装一层对应的结构体,然后再用句柄对应的API来操作这些对象 在windows下分为R0 阅读全文
posted @ 2021-01-09 12:24 Sna1lGo 阅读(310) 评论(0) 推荐(0)
卸载dll
摘要:卸载dll 在注入dll后,类似于火绒剑这种安全软件,肯定会查到注入,所以这里肯定要卸载dll来防止被发现 自加自卸载 对于自己的程序自己添加,自己卸载dll还是比较轻松,只需要一个FreeLibrary的API就好了下面直接上源代码 #include"vs_plugin_charu.h"#incl 阅读全文
posted @ 2021-01-09 01:44 Sna1lGo 阅读(699) 评论(0) 推荐(0)
windows-内存地址和偏移
摘要:windows-内存地址和偏移 工具 植大战僵尸经典版 下载地址:https://download.csdn.net/download/weixin_43916597/14040707 CE 6.8.1 下载地址:https://download.csdn.net/download/weixin_4 阅读全文
posted @ 2021-01-08 01:11 Sna1lGo 阅读(2982) 评论(0) 推荐(0)
简单的网络通信编程demo实现--基于linux下的处理
摘要:1 //server.c 2 3 #include<stdio.h> 4 #include<stdlib.h> 5 #include<sys/types.h> 6 #include<sys/socket.h> 7 #include<string.h> 8 #include<unistd.h> 9 # 阅读全文
posted @ 2021-01-04 00:57 Sna1lGo 阅读(242) 评论(0) 推荐(0)