1.算法原理 BlowFish算法基于Feistel网络,加密函数迭代执行16轮,分组长度为64位,密钥长度可以从32位到448位。算法由两部分组成,密钥扩展部分和数据加密部分,密钥扩展部分将最长最...
网站建设
C++实现LeetCode数组练习题
目录 1、存在重复元素 2、最大子序和 3、两数之和 4、合并两个有序数组 5、两个数组的交集II 6、买卖股票的最佳时机 7、杨辉三角 8、重塑矩阵 9、有效的数独 10、矩阵置零 总结 1、存...
C++数据结构之链表详解
目录 前言 一、删除链表中给定值为key的节点 二、反转链表 三、返回链表的中间节点 四、删除链表的倒数第K个节点 五、分割链表 六、合并两个有序链表 七、删除有序链表中重复节点...
C++LeetCode数据结构基础详解
目录 一、只出现一次的数字 二、多数元素 三、三数之和 总结 一、只出现一次的数字 遍历一遍数组利用异或的特性来实现(相同为0,相异为1 ) 例如[4,1,2,1,2] 4和1异或为5 5和2异或为...
C语言中 printf 函数输出格式
printf()函数是格式化输出函数, 一般用于向标准输出设备(例如屏幕)按规定格式输出信息。 一、Printf输出格式 1、输出十进制整数 int main(){ //输出十进制整数%d printf("输出的数字是:...
VScode配置C语言环境完整版(亲测可用)
一、首先下载vscode,地址:https://code.visualstudio.com/ 此时我已经安装好了 二、对VSCode进行汉化安装插件Chinese安装之后会显示让你重启VScode 三、随后依旧是这里的搜索框,搜索“C/C++”,...
C++的最短路径的弗洛伊德算法案例讲解
现在我们有这么一张图: 我们要做的是求出从某一点到达任意一点的最短距离,我们先用邻接矩阵来建图,map[i][j]表示从i点到j点的距离,把自己到自己设为0,把自己到不了的边初始化...
C语言 sockaddr和sockaddr_in案例详解
struct sockaddr和struct sockaddr_in这两个结构体用来处理网络通信的地址。 一、sockaddr sockaddr在头文件#include sys/socket.h中定义,sockaddr的缺陷是:sa_data把目标地址和端口信息混在一起了,如下...
CLOSE_WAIT状态解决方案
这个问题之前没有怎么留意过,是最近在面试过程中遇到的一个问题,面了两家公司,两家公司竟然都面到到了这个问题,不得不使我开始关注这个问题。说起CLOSE_WAIT状态,如果不知道...
结构体对齐的规则详解及C++代码验证
目录 基本概念 结构体对齐的规则 程序验证 基本概念 CPU一次能读取多少个字节的数据主要是看数据总线是多少位的,16位CPU一次能读取2个字节,32位CPU一次能读取4个字节,64位CPU一次能...
LoadLibrary深入案例详解
LoadLibrary流程分析 在Windows开发中,我们都有过一个规定:在DllMain中不应该处理过于复杂的事情,防止死锁的发生。 那么,到底为什么DllMain中容易导致死锁呢?下面我们来分析一下Lo...
Qt Creator使用教程的简单说明
目录 Qt Creator 欢迎界面 Qt Creator 新建项目 1)左边栏 2) 代码编辑器 Qt Creator 编辑 UI Qt Creator 生成和运行程序 Qt 在很长的一段时间内都没有自己的开发环境,直到 Qt 被诺基亚收购,才大力...
Qt Designer的简单使用方法
在前面两节的例子中,主界面窗口的尺寸和标签控件显示的矩形区域等,都是用 C++ 代码编写的。窗口和控件的尺寸都是预估的,控件如果多起来,那就不好估计每个控件合适的位置和...
C语言lseek()函数详解
头文件: #include sys/types.h#include unistd.h 函数原型: off_t lseek(int fd, off_t offset, int whence);//打开一个文件的下一次读写的开始位置 参数: fd 表示要操作的文件描述符 offset是相对于whence(基...
c++动态规划经典算法
目录 基本思想 重要分析问题方法 动态规划算法实例 1、台阶问题 2、从矩阵左上角走到右下角最短路径问题 3、最大子数组问题 4、最长公共子序列 基本思想 动态规划算法通常用于求解...
纯c语言优雅地实现矩阵运算库的方法
目录 1.一个优雅好用的c语言库必须满足哪些条件 2.实现一个矩阵运算库的几点思考 (1)采用预定义的数据类型,避免直接使用编译器定义的数据类型 (2)基于对象编程,定义矩阵对象 (3...
C++ EnterCriticalSection简单使用
目录 EnterCriticalSection作用 一、首先是它的使用步骤: 二、示例代码: EnterCriticalSection作用 用途主要是在多线程中,当开启多线程中,要控制函数的执行顺序时,就需要用到它了,就是...
C语言 动态分配数组案例详解
目录 一维动态数组的创建: 二维数组的创建: 很多人在编写C语言代码的时候很少使用动态数组,不管什么情况下通通使用静态数组的方法来解决,在当初学习C语言的时候我就是一个...
QT实现多线程两种方式案例详解
Qt线程 Qt4.7之前版本处理步骤 1.自定义一个类,继承于QThread。 class MyThread:public QThread{public: vid run();//虚函数 线程处理函数(和主线程不在同一个线程) signals: void isDone();//信号 线程执...
C++返回值类型后置实现(跟踪返回值类型)
在泛型编程中,可能需要通过参数的运算来得到返回值的类型。考虑下面这个场景: template typename R, typename T, typename UR add(T t, U u){ return t+u;}int a = 1; float b = 2.0;auto c = adddecltype(a + b)(a,...
C语言版三子棋游戏实现代码
本文实例为大家分享了C语言版三子棋游戏的具体代码,供大家参考,具体内容如下 实现一个三子棋小游戏 下面是实现步骤: 总共有需要三个文件 第一,test.c 我们要在这个文件里面实...
OpenCV 图像拼接和图像融合的实现
目录 基于SURF的图像拼接 1.特征点提取和匹配 2.图像配准 3. 图像拷贝 4.图像融合(去裂缝处理) 基于ORB的图像拼接 opencv自带的拼接算法stitch 1.opencv stitch选择的特征检测方式 2.opencv st...
socket编程的详细讲解
目录 1:socket大致介绍 2:TCP/IP协议 3:回过头再来理解socket 4:socket的一些接口函数原理 5:socket的一个例子,总结上述的问题 6:上面例子用到的知识点 7:下面就介绍一些API函数:...
OpenCV实现特征检测和特征匹配方法汇总
目录 1.SURF 2.SIFT 3.ORB 4.FAST 5.Harris角点 一幅图像中总存在着其独特的像素点,这些点我们可以认为就是这幅图像的特征,成为特征点。计算机视觉领域中的很重要的图像特征匹配就是一特...
C语言container of()函数案例详解
在linux 内核编程中,会经常见到一个宏函数container_of(ptr,type,member), 但是当你通过追踪源码时,像我们这样的一般人就会绝望了(这一堆都是什么呀? 函数还可以这样定义??? 怎么还...
C语言MultiByteToWideChar和WideCharToMultiByte案例详解
目录 注意: 一、函数简单介绍 ( 1 ) MultiByteToWideChar() ( 2 ) WideCharToMultiByte() 二、使用方法 ( 1 ) 将多字节字符串转为宽字符串: ( 2 ) 从宽字节转为窄字节字符串 三、MultiByteToWideChar()函数...
C/C++使用C语言实现多态
目录 1.多态的概念 1.1什么是多态? 1.2为什么要用多态呢? 1.3多态有什么好处? 2.多态的定义及实现 2.1继承中构成多态的条件 2.2虚函数 2.3虚函数的重写 2.4C++11override和final 2.5重载、覆...
C++中继承的概念和定义
目录 1.继承的概念及定义 1.1继承的概念 1.2继承的定义格式 1.3继承基类成员访问方式的变化 (1)公有继承 (2)保护继承 (3)私有继承 1.4总结 2.基类和派生类对象赋值转换 3.继承中的...
C++泛型编程基本概念详解
目录 1.什么是泛型编程? 2.函数模板 (1)函数模板概念 (2)函数模板格式 (3)函数模板的原理 (4)函数模板的实例化 (5)模板参数的匹配原则 3.类模板 (1)类模板的定义格式 (2)类模板的实例化...
C++ TinyXML解析案例详解
目录 TinyXML介绍 TinyXML类说明 下载和编译 简单的例子 读取XML 写入xml XML删除操作 XML修改操作 TinyXML介绍 最近做一个负载均衡的小项目,需要解析xml配置文件,用到了TinyXML,感觉使用起...
C++动态内存管理详解
目录 1.C/C++程序地址空间 2.C语言动态内存管理 (1)malloc (2)calloc (3)realloc (4)free 3.C++动态内存管理 (1)C++为什么要设计一套自己专属的动态内存管理方式 (2)new/delete定义 1)new/delete操作内置类型...
浅谈C++标准库
目录 C++模板 C++标准库 C++ 面向对象类库 string 标准模板库 vector set list map queue priority_queue stack pair algorithm下的常用函数 C++模板 模板是泛型编程的基础,泛型编程即以一种独立于任何特定...
C++迭代器iterator详解
目录 1.迭代器分类 1)正向迭代器 2)常量正向迭代器 3)反向迭代器 4)常量反向迭代器 2.迭代器用法示例 3.迭代器:++it与it++哪个好? (1)前置返回一个引用,后置返回一个对象 (2)前置...
C++二叉树的直径与合并详解
目录 二叉树的直径 思路 合并二叉树 思路 1.确定递归函数的参数和返回值: 2.确定终止条件: 3.确定单层递归的逻辑: 总结 二叉树的直径 给定一棵二叉树,你需要计算它的直径长度。...
带你粗略了解C++回文链表
目录 请判断一个链表是否为回文链表。 思路 总结 请判断一个链表是否为回文链表。 示例 1: 输入: 1-2 输出: false 示例 2: 输入: 1-2-2-1 输出: true 思路 1.用快慢指针,快指针有两步,慢指...
C++ WideCharToMultiByte()函数案例详解
函数WideCharToMultiByte() 详解 函数原型: int WideCharToMultiByte( UINT CodePage, DWORD dwFlags, LPWSTR lpWideCharStr, int cchWideChar, LPCSTR lpMultiByteStr, int cchMultiByte, LPCSTR lpDefaultChar, PBOOL pfUsedDefaultChar ); 函...
如何将C++源程序改写为C语言
目录 如何将C++的源程序改写为C语言 一.类的成员函数和数据成员 二.类的构造函数 三.类的析构函数 四.类的拷贝构造函数 六.重载 如何将C++的源程序改写为C语言 由于C++解释...
C++求两数之和并返回下标详解
目录 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 ACM模式 核心代码模式 方法一: 创建vector 添加元...
带你了解如何用C++合并两个有序链表
目录 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 思路 代码 链表Listnode详细介绍 总结 将两个升序链表合并为一个新的 升...
手把手带你了解C++最小栈
目录 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 示例: 输入: 输出: 解释: 思路 总结 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最...
C++ namespace案例详解
在C++语言编写的程序中,变量和函数等的作用范围是有一定限制的。比如,在函数体中定义的一个临时变量就不可以在函数体外使用。为了解决变量和函数等的作用范围,在C++语言中引...
C++相交链表和反转链表详解
目录 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 思路 给你单链表的头节点 head ,请你反转链表,并返回...
C语言中常见的几种流程控制语句
目录 1.goto语句 2.if语句 3.switch语句 4.while循环 5.do...while循环 6.for循环 break和continue 总结 1.goto语句 goto语句是一种无条件转移语句,goto 语句的使用格式为: goto 语句标号; 其中语句标号是...
带你粗略了解C++中的深浅拷贝
目录 一.背景 二.代码实现 三.问题 四.解决方法 总结 一. 背景 首先看这样一个问题,在Car类中聚合了Engine类 二. 代码实现 下面给出类Car与类Engine的定义 Car.h #ifndef COPY__CAR_H_#define COPY__C...
Matlab 数字图像的滤波及边缘检测
目录 一、图像滤波 1.1 线性滤波器 1.1.1 均值滤波 1.1.2 高斯滤波 1.2 非线性滤波器 1.2.1 中值滤波器 1.2.2 双边滤波器 1.3 滤波器的 Matlab 代码实现 二、图像边缘检测 2.1 一阶边缘检测算子...
带你粗略了解C++流的读写文件
目录 读写文本文件 二进制读写文件 按指定格式读写文件 总结 读写文本文件 C++的IO流: IO:向设备输入数据和输出数据 设备有: 1)文件 2)控制台 3)特定的数据类型(stringstream) C++中,必须通过...
一篇文章带你了解C++语法基础--字符串
目录 总结 字符与整数的关联在于ASCII码:每一个常用字符都对应一个-128 ~ 127 的数字,二者之间是可以进行相互转换的: #include iostreamusing namespace std;int main(){ char wordOne = 'a'; cout int(wo...
JS调用C++函数抛出异常及捕捉异常详解
目录 总结 本文讲述如何利用v8::TryCatch捕捉js代码中发生的异常。 首先,声明TryCatch对象。 v8::TryCatch trycatch( isolate ); 然后,定义抛出异常的函数: void ThrowException( const v8::FunctionCallback...
带你了解C++this指针的用法及其深究
目录 前言 一、this指针是个什么东东,重要吗? 二、案例理解 主要的用途 总结 前言 今天,码神像一个新车手一样,尝试着用模板来更新一下,不要建议哦,毕竟没有放弃爱情的拓海...
利用C语言实现扫雷游戏
通过一段时间的C语言学习,想必小伙伴们也想跃跃欲试的编写一些小程序,这个扫雷简易游戏,非常适合C语言初学者去实践。 实现扫雷,首先要有两个棋盘,一个棋盘放置着雷的信息...