自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (1)
  • 收藏
  • 关注

原创 为什么函数printf的参数涉及到i++/++i时输出如此怪

一、printf参数包含 i++ 和 ++i 时的反常结果在 Visual Studio 中输入下列程序:int main(){ int i = 3; printf("%d %d %d", i, i++, ++i); //输出 printf("\n%d\n", i); return 0;}对于i++和++i,我们有如下理解:++i的效果等同于 i = i + 1,也就是立即将i的结果自增1并写回给i;i++的效果等同于int tmp = i , i =

2021-05-26 09:35:04 2356 2

原创 汇编实现32位无溢出的除法子函数(详细注释)

最近在学习《王爽汇编》,其中一个作业是编写子程序实现除法溢出问题。描述如下:汇编语言中div可以实现除法,当进行8位除法(被除数16位,除数8位,结果8位)时,商存在al中,余数存在ah中;进行16位除法(被除数32位,除数16位,结果16位,商16位)时,商存在ax中,余数存在dx中。假设一个16位除法10000h/1显然,结果是10000h。可系统默认的16位除法结果是16位数,但结果10000h显然是溢出的(65536>65535)。改进策略是拓展结果的长度,也就是被除数32位,除数

2020-10-14 10:57:37 2141 1

原创 桶排序思想及其简单实现(C++)

一、桶排序的原理是什么?桶排序,就是利用桶进行排序。什么是桶呢?这里不要把它想复杂了,桶并不是一个新的高大上的数据结构,它只是一个装元素的容器。比如现在有一个待排序的数组A:Array[] = { 10,7,8,12,19,3,1,5}不难发现,其中的元素值均处在0~20之间,那我们不妨设计四个桶,其中所装元素值分别为[0,5),[5,10),[10,15),[15,20)之间。显然,通过一次遍历很容易将A中所有元素都放入其对应的桶中,且因为每个桶的区间都无交集,每个元素归属唯一的桶:第

2020-09-19 10:40:40 739

原创 计数排序算法原理和实现(C++)

一、什么是计数排序计数排序的核心思想是——对于数组 array 中的某一个元素 X,倘若我们能统计出数组中小于 X 的元素个数 N。利用这一信息,可以直接把元素 X 放在数组中第 N+1个位置处。举个例子,假如有一数组:int array[] = {2,5,3,4,1};倘若 X = 3,我们可以通过一趟遍历统计出小于 3 的元素一共有 2 个(2和1),立即得数 3 应该放在整个数组的第三位(array[2] = 3),但是这样一来会覆盖原有位置的元素。为了简单起见,初始化一个和 array 同

2020-09-14 19:17:23 347

原创 快速排序算法原理、C++代码

最近在啃算法导论,看完了关于快排的章节,用代码实现了一遍,决定写个blog记录一下,日后忘记了好拿来复习。一、快速排序的思想快速排序使用了分治思想——假设现在手头有一个待排序的数组A:int a[] = { 1,2,5,6,7,4,2,10,9,2,30,1,4,11 }; //任意数组快速排序首先从A中任取一个基准值A0,遍历整个数组,将整个数组元素以A0为基准分为左右两个区域,左边的都小于A0,右边的都大于A0。举个例子,倘若取最后一个元素11作为基准值A0,以11为界限划分数组会得到如下

2020-09-13 11:04:11 586

原创 最大堆、最小堆的构造,利用堆实现数组排序的C++代码

一、什么是堆?堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质:堆中某个节点的值总是不大于或不小于其父节点的值;堆总是一棵完全二叉树。简单点说堆就是满足特定条件的完全二叉树,这里的“特定条件”分两种:即要么这棵树所有的节点都不大于(小于等于)其根节点(如果有)的值,如下图所示就称为最大堆。要么这棵树所有的节点都不小于(大于等于)其根节点的值,如下图所示的称为最小堆。一句话,对于一颗完全二叉树,根节点总最大时叫最大堆,根节点总最小时叫最大堆。二、如何构造一个堆以构建最

2020-09-10 20:46:52 567 1

原创 Arcface C++ SDK 2.0二次开发(附代码注释)

环境: Win7+Visual Studio 2017已配置 Opencv 3.4.4在 VS2017 x64平台 Release下通过编译一:下载C++ Demo 并配置在虹软官网(https://www.arcsoft.com.cn/)下载Arcface C++Demo。将下载后的压缩包解压,解压后可以看到doc、inc、lib、samplecode四个文件夹,其中doc文...

2019-05-02 16:25:03 1308 2

虹软Arcface C++ 2.0 二次开发Demo修改版,VS2017完美运行

本资源对虹软官网上的C++ SDK 进行二次开发,解决了示例代码中的错误,能够直接在Visual Studio 上编译通过,实现人脸检测与人脸识别功能。

2019-05-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除