算法
Qyee16
给自己一个自己的家
linux/window/mac;c++/ VC/Qt/object-c/JAVA
展开
-
字符串中指定字符串的替换
方法一:string& replace_all(string& str,const string& old_value,const string& new_value) { while(true) { string::size_type pos(0); if( (pos=str.find(old原创 2012-09-11 23:47:22 · 1127 阅读 · 0 评论 -
从老鼠试验毒药的算法想到的
问题描述:有1000桶酒,其中1桶有毒。而一旦吃了,毒性会在1周后发作。现在我们用小老鼠做实验,要在1周后找出那桶毒酒,问最少需要多少老鼠。答案:老鼠个位为:10只, 2^10 = 1024 > 1000解题:(1)把10只老鼠依次排队为:0 - 9,关在笼子里(2)把1000只桶酒依次编号,并换算成二进制,如 8 = 1000,根据二进制中出现1的位数对相应位置小原创 2012-05-31 23:48:45 · 4878 阅读 · 0 评论 -
memcpy内存拷贝的改进与优化 (转)
代码一:void *memcpy( void *dest, const void *src, size_t count ){ ASSERT((dest != NULL)&&(src != NULL)); char *temp_dest = (char *)dest; char *temp_src = (char *)src; while(count--)转载 2012-08-12 15:52:13 · 1400 阅读 · 0 评论 -
洗牌算法的研究
在纸牌游戏中,有个发牌过程,发牌就是把纸牌序列打乱发给游戏者。要保证发牌是随机的,这也符合现实中玩牌的过程,“洗牌”。 洗牌:即产生指定数据的随机序列,将牌序打乱。方法一:思路:将n个数依次放到随机的位置。关键是每次找一个随机的位置。1、设置目标数组为空(置0)1、每次产生一个0~n-1的随机数,看这个位置是否已经放置了数,如果已经放置了,则继续用同样的方法找一个原创 2012-06-24 17:39:57 · 1157 阅读 · 2 评论 -
windows 下使用 snprintf
#include #include #ifdef _MSC_VER#define snprintf c99_snprintfinline int c99_vsnprintf(char* str, size_t size, const char* format, va_list ap){ int count = -1; if (size != 0) count = _vsnp转载 2014-09-13 16:26:57 · 3231 阅读 · 0 评论