上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 25 下一页
摘要: 以前只闻RTTI(Run-Time Type Identification,运行时类型识别),并未通达。参考文章《typeid详解》的相关内容,获知了些知识。如下是所有的测试代码源码说明一切。typeid 阅读全文
posted @ 2012-02-14 17:20 westfly 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 刷水题判断有多少个素数。关键点避免超时。http://acm.hdu.edu.cn/showproblem.php?pid=2138View Code #include <stdio.h>#include <math.h>int isPrimer(unsigned int n ){ int i ; unsigned int m = sqrt(n); for(i = 2; i <= m; ++i) { if(!(n % i )) break; } return i > m;}int main(){ int n,m; ... 阅读全文
posted @ 2012-02-11 19:31 westfly 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 遇到一条奇怪的命令,Google到了用法,拿来分享下。命令是这样的set QTDIR=%~dp0qt刚开始用%~dp0qt显然无果,后来在cmd快捷方式中看到 start in 中参数为 %~dp0,于是用%~dp0Google了下,果然有结果 《cmd命令之 cd /d %~dp0》。简单来说,更改当前目录为批处理本身的目录。在G:\下写了个Bat文件cd /d %~dp0set QTDIR=%~dp0qtecho %QTDIR%pause显示 %~dp0被替换为 G:\然后 QTDIR 被显示为 G:\qt了。懂了没? 阅读全文
posted @ 2012-01-02 12:11 westfly 阅读(581) 评论(0) 推荐(0) 编辑
摘要: 想试用SQLite的相关功能,于是就测试了下。我是在CodeBlocks下配置VS2010而做的,但是最新CodeBlocks的VS2010配置不是对,链接说找不到kernel32.lib,于是重新修复安装VS2010(折腾人的大工程),后来参考了CodeBlocks在win7+Vs2010环境下的配置 终于搞定,其实是kernel32.lib移到了“Microsoft SDKs”中了。到SQLite主要上下载,参考在VS2010下由DEF和DLL文件生成SQLite3.lib ,生成lib文件(就是命令LIB /DEF:sqlite3.def /machine:IX86的使用),新建工程,配 阅读全文
posted @ 2011-11-22 19:00 westfly 阅读(486) 评论(0) 推荐(0) 编辑
摘要: 完美笔试的最后一题,只写了个+,准备用+模拟*的,回来看网上的资料,发现自己写得不对,于是回来花写时间写了下,各种心得。实现思路很简单,用数组实现,同时用一个len表示占用空间,由于加法和乘法都要求对齐,所以按照数字的逆序表示要方便些,若要输出的话逆向输出即可(在此复习了下ostream 和friend 语义)。数组是字符串的集合,要保持字符串的特有的'\0'结尾符。下面的代码不求完美,但求思路,所以用了固定数组,同时不支持负数形式。加法的实现比较简单,有点类似于归并的代码,注意最后要更新len和末尾结束符。乘法借用的是网上的思路,用了一个临时数组(注意大小,如何证明不会溢出? 阅读全文
posted @ 2011-10-16 23:27 westfly 阅读(1272) 评论(0) 推荐(0) 编辑
摘要: 求1+2+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句题目比较变态。起初不愿意多想,只知道模板的发现是由于某人发现在编译打出的错误信息计算出了值,于是才有后面的故事。第一想法的静态模板编译递归计算。后来看到一个比较好的,是用表达式作为防御性编程——作为递归的条件(无判断),比较巧妙,于是sharing一下。#include <stdio.h>int sum(int n){ int tmp = 0; (n)&&(tmp = sum(n-1)); return n+tmp;}int main(){ p 阅读全文
posted @ 2011-10-11 09:59 westfly 阅读(551) 评论(1) 推荐(0) 编辑
摘要: 给定一个未知长度的整数流,如何从中随机选取个m随机数。解决方法:定义长度为m的数组,对于数据流中的前1000个关键字,显然都要放到数组中。对于数据流中的的第n(n>m)个关键字,则这个关键字被随机选中的概率为 m/n。故以 m/n 的概率用这个关键字去替换数组中的一个。这样就可以保证所有关键字都以 m/n的概率被选中。对于后面的关键字都进行这样的处理,这样就可以保证数组中总是保存着m个随机关键字。可以用归纳法证明关键字都以 m/n的概率被选中。void swap(int* p, int* q){ int tmp = *p; *p = *q; *q = tmp;}void sh... 阅读全文
posted @ 2011-10-07 22:10 westfly 阅读(378) 评论(0) 推荐(0) 编辑
摘要: TCP三次握手 TCP协议提供可靠的连接服务,采用三次握手建立一个连接。以下步骤概述了通常情况下客户端计算机请求与服务器计算机简历TCP的过程:TCP三次握手图解TCP图解3次握手1. 客户端向服务器发送一个SYN置位的TCP报文,其中包含连接的初始序列号x和一个窗口大小(表示客户端上用来存储从服务器发送来的传入段的缓冲区的大小)。2. 服务器收到客户端发送过来的SYN报文后,向客户端发送一个SYN和ACK都置位的TCP报文,其中包含它选择的初始序列号y、对客户端的序列号的确认x+1和一个窗口大小(表示服务器上用来存储从客户端发送来的传入段的缓冲区的大小)。3. 客户端接收到服务器端返回的S. 阅读全文
posted @ 2011-10-03 16:18 westfly 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 题目:You are given an array A that contains integers. Every integer occurs 3 times in A leaving one integer that appears only once. Fastest way to find that single integer.分析:如果这里的数组A的规模比较小,在内存的可以容纳的范围之内,可以建立hash表,顺序扫描A中的每一个 数,统计每个数的出现次数,最后找出仅出现一次的数即可,时间复杂度为O(N),空间复杂度为O(N)。如果数组A的规模很大呢?难道是进行外排序,然后 通过me 阅读全文
posted @ 2011-10-03 16:14 westfly 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 关于二叉树节点的经典定义struct Node { int data; struct Node *left; struct Node *right;};后序非递归实现void PostTravelNoRecure(struct Node *root){ stack<struct Node*> st; struct Node * prev = NULL;//最近一次访问节点 struct Node * pNode = root;//最近一次访问节点 while(pNode||!st.empty()) { //找到最左节点... 阅读全文
posted @ 2011-09-27 10:32 westfly 阅读(256) 评论(0) 推荐(0) 编辑
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 25 下一页