
C/C++
文章平均质量分 53
飞天御剑流
....剑心,已不再是过去那个传奇中的杀人拔刀斋。手中的逆刃刀,也不再是一把剥夺敌人生存权利的武器,而是一把活人剑,能活人之剑........
展开
-
不定长字符串输入处理小技巧
大家在编程的过程中,经常会遇到需要输入一个不定长字符串的情况。通常来说,解决这个问题可以有两种方法: 一是先分配一个固定长度的缓冲区,把输入的字符串先存储到这个缓冲区,然后再根据其长度动态分配内存。这个方法缺点是无论分配多大的缓冲区,都无法完全满足要求。太大浪费内存,太小会发生字符串截断。 二是逐个字符输入,然后通过realloc函数来实时改变缓冲区的原创 2009-11-26 08:31:00 · 7847 阅读 · 4 评论 -
如何高效产生m个n范围内的不重复随机数(m<=n)
如何产生不重复的随机数?最容易想到的方法,是逐个产生这些随机数,每产生一个,都跟前面的随机数比较,如果重复,就重新产生。这是个很笨的方法,且比较次数呈线性增长,越往后次数越多。其实这些比较是多余的,完全可以不进行比较,只要反过来,按顺序产生这些数,但随机产生它们的位置。例如下面产生100个100以内不重复随机数的代码:int a[100];for(i=0; ifor(i=99; i>=原创 2009-11-26 08:27:00 · 6899 阅读 · 14 评论