- 博客(20)
- 资源 (1)
- 收藏
- 关注
原创 使用迭代器实现双向队列deque
一、deque概述Deque是一种双向开口的连续线性空间,可以在头尾两端分别做元素的插入和删除操作,其示意图如下所示:Deque由一段一段的定量连续空间构成,一旦有必要在deque的前端或尾端增加新空间,便配置一段定量连续空间,串接在整个deque的头端或尾端。Deque的最大任务,便是在这些分段的定量连续空间上,维护其整体连续的“假象”,并提供随机存取的接口。避开了“重新配置、复制、释放”的轮回,代价则是复杂的迭代器架构。Deque采用一块map作为主控,这块map是一小块连续空间,其中每个节点(
2021-07-18 18:42:01 435 1
原创 使用迭代器实现双向队列deque----完整源代码
双向队列头文件Deq1.h#include<iostream>#include<stdlib.h>#include<stddef.h>#include<math.h>#include<algorithm>using namespace std;#ifdef __STL_USE_EXCEPTIONS#define __STL_TRY try#define __STL_UNWIND(action) catch(...) { a
2021-07-18 18:39:42 276
原创 opencv在windows下的下载及安装(及vs下配置环境)
下载地址 https://opencv.org/releases.html配置环境变量双击下载的.exe文件,解压得到opencv文件夹。找到如下图所示路径,因为我的vs是2017版,所以打开vc15(2015版对应vc14)3.复制路径,新建系统环境变量,OPENCV_DIR4.讲改变量名添加到Path路径中,%OPENCV_DIR%\bin配置vs中路径1.首先找到opencv中include文件夹的路径,复制路径;打开vs中项目->属性->C/C++,在附加
2020-05-20 22:27:02 1227
原创 网络协议安全分析
网络安全层次结构物理层在通信线路上保障不被搭线,不被偷听,尽可能检测出来。数据链路层a.点对点的链路上可以采用通信保密机进行加解密。b.由第层硬件完成,对上层透明。c.缺陷:无法适应多个路由器的网络,尤其Internet.网络层使用防火墙技术处理信息在内外网的流动,允许或禁止某些目的主机或信息。传输层a.端到端加密。b.不能单独解决身份认证、访问控制问题。...
2020-04-15 07:27:53 4874
原创 Dijkstra算法最短路径----按路径长度递增的次序产生最短路径
一、最短路径最短路径问题(Shortest Path)是指从在带权图的某一顶点(称为源点)出发,找到一条通往另一顶点(称为终点)的最短路径。二、Dijkstra算法- 基本思想(1)把图中的所有顶点分为两组,一组为已确定最短路径的顶点;一组为尚未确定最短路径的顶点。(2)按路径长度递增的顺序逐个把第二组的长度加到第一组中去,直到源点出发到达的所有顶点中全部包含至第一组。具体做法(1...
2020-04-14 21:15:46 3577
原创 菜鸟笔记:网络安全小知识(待补充)
端口扫描现有的扫描技术有TCP Connct()扫描、TCP SYN扫描、TCP FIN扫描、UDP扫描、认证扫描、FTP代理扫描和远程主机OS指纹识别TCP Connect()扫描称为全扫描,因为攻击者与目标主机建立一次完整的三次握手。缺点是这种扫描方法会在日志文件中留下大量密集的连接和错误记录,很容易被发现,并过滤掉。TCP SYN()扫描,扫描器向目标主机的一个端口发送请求连接的SYN...
2020-04-12 21:42:38 309
原创 使用开散列实现对字典的查找插入删除(C++实现)
一、需求分析【问题描述】实现对字典的查找。【基本要求】在分块查找、AVL树、哈希查找、B树或者B+树查找中选择一种你认为最高效的动态查找方法对字典(单词、词性加释义)在内存中的动态查找结构或者在外存的字典文件的构造、查找、插入、删除。【逻辑操作】1、利用字典文件构造字典2、实现对字典的快速查找3、在字典中任意插入之前不存在的单词4、任意删除字典中已有的单词【输入输出要求】1.字...
2020-04-06 23:12:19 1051
原创 数据结构之图(2):图的遍历,深度优先算法(DFS)和广度优先算法(BFS)
一、什么是图的遍历给定一个图G和其中任意一个顶点v0,从v0出发,沿着图中的各边访问图中的所有顶点,且每个顶点仅被访问一次。遍历的方法:深度优先搜索、广度优先算法、前序、后序为了防止陷入死循环(存在回路)或者访问不到某些结点(非联通图),我们在每个顶点设置一个访问标志位(visit bit)初始为零,被访问后标记。图的生成树:图的所有顶点再加上遍历过程中经过的所有边所构成的子图,称为...
2020-04-05 22:47:06 435
原创 C++使用双向循环链表实现两个任意长的整数运算
一、需求分析**【问题描述】**设计一个程序实现两个任意长的整数运算。【基本要求】(1)要求基于int类型实现任意长度整数。(2)设计方案尽可能高效:运算快、所耗内存小。(3)代码完成后需进行正确性和可用性测试。【逻辑操作】1、构造一个空的任意长度整数2、在任意长度整数中插入一个新的数据元素3、在任意长度整数中删除 一个数据元素4、任意长度整数的 加法5、输出任意长度整数。...
2020-03-13 16:53:45 3141
原创 数据结构之树(1):树的基本定义、术语以及树的抽象数据类型
一、树的定义树(有根树)是n(n>=0)个结点的有序集合T。当n等于0时,T为空树;当n>0时,T是非空树,并且可表示为T={r,T1,T2……Tn};其中r是根结点(root).e.g. 如图所示,(a)是空树,连一个结点都没有;(b)是只有根结点的树;(c)是有13个结点的树,A是根结点,其余结点又分成3个互不相交的子集:T1={B,E,F,K,L},T2={C,G}...
2020-03-06 09:10:33 1246
原创 解决XMind 8 Update7闪退问题
有次关机时没有关掉XMind,再加上开机时用杀毒软件扫了一遍,然后我的小小破解版就出问题了,打开初始化就闪退了[哭哭]大刀阔斧解决办法:打开XMind安装包文件夹,找到XMind.ini文本形式打开,将Application Data均修改成AppData....
2020-02-07 10:55:25 1017 3
原创 暑期pwn! pwn! pang!(四) 64位ROP绕过 Emachine
先看看保护是个64位的,开了栈不可执行保护,先玩玩这个程序好了,到了开IDA的时间了,咱找到漏洞int encrypt(){size_t v0; // rbxchar s[48]; // [rsp+0h] [rbp-50h]__int16 v3; // [rsp+30h] [rbp-20h]memset(s, 0, sizeof(s));v3 = 0;puts(“Input...
2019-07-19 16:18:02 549
原创 暑期pwn! pwn! pang! (三):开了pie的rop绕过
话不多说先上图:依旧开了栈中数据不可执行保护,而且重点是,开了pie! ! !唉,PIE这个磨人的小妖精。还是要想办法绕过,咱们的目的是得到libc中system和/bin.sh的地址开启了地址随机化,每次运行的基址都不一样,所以得先得到每次程序运行的libc的基址,这里我们利用__libc_start_main-我们想办法得到程序中libc_start_main的地址,减去li...
2019-07-12 19:10:04 4043
原创 暑期 pwn! pwn! pang! (二):ret2libc3 libc泄露,无system
不管这题是不是洪水猛兽,得先看了安全保护才知道:源程序开启了栈堆不可执行保护,但可以用rop的方法绕过。那就再看看源程序,发现仍是栈溢出,可以利用write函数溢出。检查是否有"/bin/sh" 及system,发现并没有!!!ROPgadget --binary pwn001 --string "/bin/sh"gdb pwn001p system那么我们该如何得到syst...
2019-07-10 11:11:58 745
原创 创建app时controller,router,view和页面之间的关系
页面页面就是我们平时看到的网站的导航页或者其他的页面。viewsviews是对某个对象的视图,代表了这个对象的图形界面。在这里,只要我们把想要显示到页面上的控件的views添加到当前正在显示的views下,(也可以是我们将要运行的views下),就可以完成显示,显示在页面上。routers它相当于一个中转站,它分发来自页面的请求,再交给Controllers去做。controllers...
2018-12-23 12:30:07 968
原创 Linux下安装 Express及 express-generator快速应用生成器
【一】Express1.在安装了Node.js的情况下,创建一个名为myapp的新的目录,来保存应用程序,并打开。$ mkdir myapp$ cd myapp2.安装 npmsudo apt install npm3.使用npm init 来创建package.json作为申请文件 。$ npm init4.此命令要求输入很多内容,例如name,version等,可以填写也可一路...
2018-12-16 11:38:32 715
原创 Linux下搭建go环境及安装beego,创建一个名为“Hello"的应用程序
【一】搭建 go 环境1.在官网上下载 go1.9.2.linux-amd64.tar.gz国内下载地址:http://www.golangtc.com/download)2.将其移动到 /usr/local/sudo mv /home/go1.9.2.linux-amd64 /usr/local3.修改配置文件,并保存sudo gedit /etc/profile输入密码,在 fi...
2018-12-09 12:10:33 405
原创 无意中修改了配置文件后虚拟机进入紧急模式
为了实现虚拟机和主机的文件共享,笔者曾经在虚拟机上调了很多命令(结果最后发现可以直接复制粘贴,泪目),结果无意中就修改了虚拟机本身的配置文件,重启虚拟机以后,就打不开了,并且提示进入了紧急模式。这个时候不要慌,仔细回忆自己改动的在哪里,改动的是什么。然后重启,跳出一个灰色框框,选择第二个,键入 cd /home(位置)/(用户名)/.(配制文件),再键入 vi /home(位置)/(用户名)/....
2018-11-19 22:57:29 2828
原创 新手笔记(3):Linux常见命令
“# 这是一个一级标题”八八八八1.查看当前系统默认shell echo $SHELL2.查看目录 man ls3.ls命令 列出当前目录下的所有内容(1)显示每个文件的大小 ls -s(2)按文件的大小排序 ls -S(3)显示目录中的所有文件,包括隐藏文件 ls -a(4)使用长列表模式,显示文件详细信息 ls -l4.cd命令 转换用户的目录李四-...
2018-10-30 13:16:56 207
IoT骨干网中基于异常的入侵检测的二维降维和两层分类模型.pdf
2020-01-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人