随笔分类 - algorithm
摘要:本文使用C++实现一个基于AVLTree实现的map/set,不同于网上大部分的实现,本文争取按照C++STL风格来编写。 前言 其实网上关于数据结构的文章已经满大街了,但是大多数的实现都非常简单,虽然有些使用Java/C#/Python版本的代码甚至可能和其标准库相差无几,但是C++不一样,C++
阅读全文
摘要:C++如何写一个带有allocator的vector 在STL中,容器一般都有一个allocator模板参数。 allocator用于获取/释放内存及构造/析构内存中元素的分配器。类型必须满足分配器 (Allocator) 。如果 Allocator::value_type 与 T 不同,那么行为未
阅读全文
摘要:银行卡号码校验算法 背景 最近在办卡的时候发现,两个相邻的人办卡,他们的卡号乍一看并不是连续的,但是把最后一位除掉之后却是连续的,很容易猜想最后一位应该是校验位。 银行卡号码的校验规则 银行卡号码的校验采用Luhn算法,假设有银行卡号如下: 图1 我们使用不同的颜色对奇数和偶数部分进行区分。 红色部
阅读全文
摘要:C++ 按照字典序实现combination 引言 C++ STL提供了permutation相关的函数(std::next_permutation和std::prev_permutation),但是没有提供combination相关的函数,本文将基于字典序的方法实现一个combination相关的
阅读全文