- 博客(39)
- 收藏
- 关注
原创 【无标题】
echo 只能输入(1、2、3、4、5、6、7、8)由此执行指令。echo 1390123123 > e:\找回文件联系人.txt。@echo 2.杀死explorer.exe进程。@echo off//关闭回显(屏蔽执行过程)echo 正在清理explorer.exe进程。echo explorer.exe进程已清理。@echo 菜单。echo 分区%pan%盘已全部清理。@echo 7.清楚系统缓存垃圾。echo 垃圾清理中。echo 数据优化中。@echo 5.隐藏文件功能。
2023-06-26 16:25:17
378
1
原创 windows系统典型漏洞分析
由于SHE结构存放在栈中,因此攻击者可以利用栈溢出漏洞,设计特定的溢出数据,将SEH中异常函数的入口地址覆盖为Shellcode的起始地址或可以跳转到Shellcode的跳转指令地址,从而导致程序发生异常时,Windows异常处理机制执行的不是预设的异常处理函数,而是Shellcode。在实际的漏洞利用中,由于动态链接库的装入和卸载等原因,Windows进程的函数栈帧可能发生移位,即Shellcode在内存中的地址是动态变化的,所以上述采用直接赋地址值的简单方式在以后的运行过程中会出现跳转异常。
2023-06-04 16:59:13
2302
1
原创 【LeetCode】20. 有效的括号—力扣
给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个右括号都有一个对应的相同类型的左括号。
2022-11-08 11:55:37
906
1
原创 轻松学会结构栈
栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。
2022-11-07 21:52:05
247
原创 最完美的链表--双向带头循环链表
双向带头循环链表是最优链表,结构复杂,功能丰富是它的特性今天,教大家实现一个双向带头循环链表哦,平常刷题时我们都是用的单向链表,因为功能简单具有考查性!而这个双向带头循环链表功能复杂,很多的题都在双向带头循环链表下都没有任何的考察性,哈哈哈,是一个比较完美的链表。
2022-11-07 14:27:56
263
原创 【LeetCode】138. 复制带随机指针的链表—力扣
给你一个长度为n的链表,每个节点包含一个额外增加的随机指针random,该指针可以指向链表中的任何节点或空节点。构造这个链表的深拷贝。深拷贝应该正好由n个全新节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的next指针和random指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点。
2022-11-06 20:06:09
140
原创 【LeetCode】142. 环形链表 II—力扣
给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改 链表。
2022-11-05 17:35:07
153
原创 【LeetCode】141. 环形链表—力扣
给你一个链表的头节点head,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos不作为参数进行传递。仅仅是为了标识链表的实际情况。如果链表中存在环,则返回true。 否则,返回false。
2022-11-05 12:21:37
133
原创 【LeetCode】160. 相交链表—力扣
给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。
2022-11-05 10:40:20
191
原创 【2016校招真题】OR36 链表的回文结构
描述对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。给定一个链表的头指针A,请返回一个bool值,代表其是否为回文结构。保证链表长度小于等于900。
2022-11-04 19:23:07
136
原创 【程序员面试宝典】CM11 链表分割
现有一链表的头指针 ListNode*pHead,给一定值x,编写一段代码将所有小于x的结点排在其余结点之前,且不能改变原来的数据顺序,返回重新排列后的链表的头指针。
2022-11-04 17:12:40
128
原创 【LeetCode】876. 链表的中间结点—力扣
给定一个头结点为 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。
2022-11-03 19:05:48
168
原创 【LeetCode】203. 移除链表元素的三种方法
给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。
2022-11-03 17:10:08
139
原创 [数据结构初阶]顺序表
线性表()是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串...线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。顺序表是用一段的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。顺序表相较于链表有一个要求,数据必须从第一个位置连续存储的!
2022-10-31 10:49:59
871
4
原创 【C++】初识
什么是C++C++发展史C++的重要性语言的使用广泛度在工作领域1. 操作系统以及大型系统软件开发2. 服务器端开发3. 游戏开发4. 嵌入式和物联网领域5. 数字图像处理6. 人工智能7. 分布式应用如何学习C++别人怎么学?C++基础正确高效地使用C++深入了解C++研究C++自己怎么学多总结写博客中后期画思维导图总结多读书初窥门径潜心修行深入浅出勤刷题
2022-10-25 12:31:14
1034
1
原创 [数据结构初阶]算法的时空复杂度
通过算法的时间复杂度和空间复杂度!算法在编写成可执行程序后,运行时需要耗费时间资源和空间(内存)资源。因此,即时间复杂度和空间复杂度。。在计算机发展的早期,计算机的存储容量很小。所以对空间复杂度很是在乎。但是经过计算机行业的迅速发展,计算机的存储容量已经达到了很高的程度。所以我们如今已经不需要再特别关注一个算法的空间复杂度。时间复杂度的定义:在计算机科学中,,它定量描述了该算法的运行时间。一个算法执行所耗费的时间,从理论上说,是不能算出来的,只有你把你的程序放在机器上跑起来,才能知道。
2022-10-23 16:36:38
851
原创 【Linux】Linux系统编程(入门与系统编程)(三)(深入理解操作系统、进程、环境变量、内存分布)
认识冯诺依曼系统操作系统概念与定位深入理解进程概念,了解PCB学习进程状态学会创建进程,掌握僵尸进程和孤儿进程,及其形成原因和危害了解进程调度,Linux进程优先级,理解进程竞争性与独立性,理解并行与并发理解环境变量,熟悉常见环境变量及相关指令, getenv/setenv函数理解C内存空间分配规律,了解进程内存映像和应用程序区别, 认识地址空间。
2022-10-20 15:35:13
1492
5
原创 【Linux】Linux系统编程(入门与系统编程)(二)(vim、gcc、gdb、Makefile、yum、git等工具的了解与使用)
学习yum工具,进行软件安装掌握vim编辑器使用,学会vim的简单配置掌握gcc/g++编译器的使用,并了解其过程,原理掌握简单gdb使用于调试掌握简单的Makefile编写了解其运行思想编写自己的第一个Linux 程序:进度条学习 git 命令行的简单操作, 能够将代码上传到 Github 上
2022-10-04 21:39:32
2068
2
原创 【Linux】Linux系统编程(入门与系统编程)(一)(环境搭建、常见指令以及权限理解)
目录的可执行权限是表示你可否在目录下执行命令。如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限(这 个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。
2022-09-26 14:57:53
4368
7
原创 【好题分享】适合C++初学者(字符指针)
1. 下面关于"指针"的描述不正确的是:( )A.当使用free释放掉一个指针内容后,指针变量的值被置为NULLB.32位系统下任何类型指针的长度都是4个字节C.指针的数据类型声明的是指针实际指向内容的数据类型D.野指针是指向未分配或者已经释放的内存地址答案解析:A要了解free不会更改指针的指向。B选项强调了32位系统,所以没问题。CD选项是定义本身。所以排除法也可以确定是A。2. 关于下面代码描述正...
2022-03-19 16:34:17
966
1
原创 【好题分享】适合C++初学者(回调函数)
1. 关于回调函数描述错误的是( )A.回调函数就是一个通过函数指针调用的函数B.回调函数一般通过函数指针实现C.回调函数一般不是函数的实现方调用,而是在特定的场景下,由另外一方调用。D.回调函数是调用函数指针指向函数的函数。答案解析:“调用指针”、“指向函数”是什么鬼……D选项简直逻辑鬼才!ABC就是基础概2. qsort模拟实现模仿qsort的功能实现一个通用的冒泡排序...
2022-03-17 17:58:35
1519
原创 【好题分享】适合C++初学者(指针和数组运算)
1. 下面test函数设计正确的是:( )char* arr[5] = {"hello", "bit"};test(arr);A.void test(char* arr);B.void test(char** arr);C.void test(char arr[5]);D.void test(char* arr[5]);答案解析:指针的数组传递给子函数变为指针的指针,也就是二级指针。但是允许中括...
2022-03-16 21:58:08
955
原创 【好题分享】适合C++初学者(函数指针)
1. 下面哪个是函数指针?( )A.int* fun(int a, int b);B.int(*)fun(int a, int b);C.int (*fun)(int a, int b);D.(int *)fun(int a, int n);答案解析:ABD没有区别,加的括号没有影响任何优先级,都是返回值为int *的函数,故选C。2. 定义一个函数指针,指向的函数有两个int形参并且返回一个函数指针,返...
2022-03-13 17:18:18
1393
原创 【好题分享】适合C++初学者(数组的定义与初始化)
1. 关于一维数组初始化,下面哪个定义是错误的?( )A.int arr[10] = {1,2,3,4,5,6};B.int arr[] = {1,2,3,4,5,6};C.int arr[] = (1,2,3,4,5,6);D.int arr[10] = {0};答案解析:A:正确,10个int的一段连续空间,前6个位置被初始化为1,2,3,4,5,6,其他位置为0B:正确,数组中有6个空间,并被初始化为1,2,3,4,5,6C:错误,数组的初始化不能使用(),只能使
2022-01-22 13:48:03
1368
3
原创 【好题分享】适合C++初学者(函数)
1. 能把函数处理结果的二个数据返回给主调函数,在下面的方法中不正确的是:( )A.return 这二个数B.形参用数组C.形参用二个指针D.用二个全局变量答案解析:A:错误,一个函数只能返回一个结果B:正确,将形参存在数组中,修改数组中内容,可以通过数组将修改结果带出去C:正确,形参如果用指针,最终指向的是外部的实参,在函数中对指向指向内容进行修改,改变的就是外部的实参D:正确,全局变量不受函数的结束而结...
2022-01-19 02:17:19
1783
6
原创 【WEB学习】你真的认识网页与浏览器吗?
认识网页网页主要由文字、图像和超链接等元素构成。当然,除了这些元素,网页中还可以包含音频、视频以及Flash等。前端同学苦苦敲得代码,经过浏览器的渲染,就会给用户一个美丽的呈现。常见浏览器介绍浏览器是网页运行的平台,常用的浏览器有IE、火狐(Firefox)、谷歌(Chrome)、Safari和Opera等。我们平时称为五大浏览器。浏览器内核浏览器内核又可以分成两部分:渲染引擎(layout engineer...
2022-01-01 16:17:26
1150
14
原创 【好题分享】适合C++初学者(指针与静态)
今天咱们来继续进行好题分享,难度比上次会增加哦!前三道是选择题,后四道是OJ题大家一键三连,多多关注,爱你们哦!我从简单到难,一起和大家走上漫漫刷题路!1.关于static说法不正确的是:( )A.static可以修饰局部变量B.static可以修全局变量C.static修饰的变量不能改变D.static可以修饰函数答案解析本题主要考察static的特性1. static修饰变量a. ...
2021-12-20 16:59:58
1010
7
原创 【OJ好题分享】适合c++初学者【入门刷题初阶(二)】
今天咱们来继续进行OJ好题分享,难度比上次会增加哦!大家可以直接点击我博客中的题目进行刷题,大家一键三连,多多关注,爱你们哦!我从简单到难,一起和大家走上漫漫刷题路!
2021-12-16 16:25:47
1271
6
原创 【OJ好题分享】适合c++初学者【刷题初阶(一)】
什么是Online Judge? Online Judge系统(简称OJ)是一个在线判题系统。用户可以在线提交程序源代码,系统对源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性。一个用户提交的程序在Online Judge系统下执行时将受到比较严格的限制,包括运行时间限制,内存使用限制和安全限制等。用户程序执行的结果将被Online Judge系统捕捉并保存,然后再转交给一个裁判程序。该裁判程序或者比较用户程序的输出数据和标准输出样例的差别,或者检...
2021-12-16 00:28:58
1458
8
原创 【好题分享】适合C++初学者(第二弹)
1.哪个不是关键字:( )A.intB.structC.defineD.continue答案解析C语言关键字:C语言定义的,具有特定含义、专门用于特殊用途的C语言标识符,也称为保留字define不是关键字,是编译器实现的,用来定义宏的预处理指令,不是C语言中的内容。int、struct和continue都是C语言中包含的关键字。因此:选择C2.C语言关键字说法正确的是:( )...
2021-12-14 22:32:22
1915
10
原创 【好题分享】适合c++初学者(从易到难)
1.字符串的结束标志是:( )A.是'0'B.是EOFC. 是'\0'D.是空格答案解析C语言规定:以'\0'作为有效字符串的结尾标记A:错误,是'\0'不是字符0B:EOF一般用来作为检测文本文件的末尾C:正确D:明显错误因此:选择C2。关于数组描述错误的是:( )A.数组是一组相同类型元素的集合B.数组的下标是从1开始的C.数组的...
2021-12-13 18:33:48
2115
9
原创 【C++转义字符好题】简单但有意思易错的面试题分享
//程序输出什么?#include <stdio.h>int main(){ // \62被解析成一个转义字符 printf("%d\n", strlen("c:\test\628\test.c")); return 0;}这道题看似简单,但老程序猿也可能犯错,这道题充分考察了对转义字符的理解。 几位同学一起做这道题!张三同学认为:18个李四同学认为:16个王五同学...
2021-12-12 23:53:52
1179
3
原创 新的开始-轩宇的c++学习之路
自我介绍 我是田轩宇同学,一个来自太原理工大学热爱技术的大学生(PS:单身狗)。大一时呢就很热爱技术,但刚刚进入大学,参加了很多社团、组织和学生会,整天忙的晕晕乎乎,每天要做的事情很多,暑假又去了混沌商学院(太原),做了一个假期的运营实习生,这些同样是很宝贵的经历,然后就可能对技术的学习造成了一定影响。这里也给学弟学妹提一个建议,就是不要把精力往不必要的事情上投资!我们的时间是有限的,时间就是我们的资本,有的时候讲选择和努力同等重要。所以今天大二的我要潜心用我大学剩下的时间去努力钻研技...
2021-12-11 19:01:00
1020
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人