算法设计中的技巧
HahnSC
Unity 开发者
.Net Core Mono
OC & Swift
Git
展开
-
链式结构的队列: Queue
代码: #include using namespace std;#include class queueNode{public:int data;queueNode *next;queueNode(){next = NULL;}};class queue{private:queueNode *head,*tail;public:queue(){head = new queueNode;head原创 2014-10-30 22:24:10 · 324 阅读 · 0 评论 -
C++虚基类的测试代码
在声明ComponentBase为Window和ScrollBar的虚基类后, WindowScrollBar原创 2014-11-23 00:19:51 · 489 阅读 · 0 评论 -
稍稍改良版的快速幂运算
C++代码: /* * @author Hahn * 此算法可在指数为1时减少一步计算(base *= base) * 本人为渣校大二学生 */ typedef long long ll; ll pow(ll x, ll y) //改进版快速幂运算 { ll r = 1; ll base = x; while (y > 0原创 2015-03-28 14:57:10 · 414 阅读 · 0 评论 -
十六进制快速转换八进制(算法核心可适用于2^n进制转化)
C++代码: 这个是百度百科中摘取的code, 大家千万要注意gets()和puts()的输入输出流, 对于刚刚入门C程序设计的同学, 千万记得gets()是不会读取’\n’,而是将’\n’存进输入流, 如果再跟一个getchar() 即可检验编译环境: Sublime 2 + MinGW#include<stdio.h> #include<string.h> #include<math.h>转载 2015-03-28 15:02:31 · 500 阅读 · 0 评论 -
十六进制(2^n进制)转换十进制(非2^n进制)快速算法
C++代码如下:算法思路: 使用long long类型来保存较大的十进制数字, 如果再大就需要用大数字数组加法来计算. 此处使用char *来保存输入的十六进制字符(边输入边存储,所以是倒着存的),之后使用快速的位运算而不是快速幂运算.公式为:1>>(2*4*i)( 1:binary : 0001 ; 2: bin-> 0010 ,不能被2的N次方搞混)计算当前结果, 之后相加 OK! #incl原创 2015-03-28 15:55:09 · 464 阅读 · 0 评论