随笔分类 -  C/C++

摘要:一、标题:数字化婚姻配对尝试二、题目:建立一个模型,来模拟推导社会男女择偶过程。为了模型简化,一个人的特性指标有三个,这里假设为财富、样貌、品格,每个指标均可取值1-100之间任意数字。同样也对这3项指标有自己的需求。这3个需求值取值范围都在1-98间,当然三者的和必须为100.所以任意一个人可以用以下数组来表述:G(A、B、C、A1、B1、C1)G代表男,M代表女。举例G11(80、50、40、10、30、60),表示男11号,拥有财富80、样貌50、品格40,对异性品格的偏好为:财富在乎程度百分之10、样貌在乎程度百分之30、品格在乎程度百分之60。同样为了模型简化,假设信息是完全对称的, 阅读全文
posted @ 2013-07-23 22:43 busyfruit 阅读(649) 评论(0) 推荐(0)
摘要:希尔排序(Shell's Sort)又称缩小增量排序,类属于插入排序。考虑到直接插入排序得一下特点: (1)在待排序数基本有序情况下排序效率大大提高; (2)在n很小时,其排序效率也很高。 基于以上考虑,对直接插入排序进行改进,并得出希尔排序。其基本思想为:先将整个待排序记录序列分割成若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序时”,再对全体记录进行一次插入排序。 这里的子序列是通过一个增量得到的,每一次赋予不同的增量,则得到不同的子序列组(分别对子序列进行直接插入排序就称作一次希尔插入排序,注意,实际代码中并不是依次排好一个自序列之后再排下一个这样效... 阅读全文
posted @ 2013-04-07 11:11 busyfruit 阅读(612) 评论(0) 推荐(0)
摘要:做实验需要大量数据,便用C内置的rand()伪随机数生成函数生成了一定的伪随机数。现在的问题是对于超大范围的随机数生成还是一个问题。留待以后解决。代码如下:#include <iostream>#include <time.h>#include <math.h>#include <cstdlib>#include <fstream>using namespace std;int main(){ srand(time(NULL)); int n,n1,i=0; cout << "输入待排序数组的个数:"; 阅读全文
posted @ 2013-04-07 10:43 busyfruit 阅读(226) 评论(0) 推荐(0)
摘要:C++是一种复杂的编程语言,其中充满了各种微妙的陷阱。在C++中几乎有数不清的方式能把事情搞砸。幸运的是,如今的编译器已经足够智能化了,能够检测出相当多的这类编程陷阱并通过编译错误或编译警告来通知程序员。最终,如果处理得当的话,任何编译器能检查到的错误都不会是什么大问题,因为它们在编译时会被捕捉到,并在程序真正运行前得到解决。最坏的情况下,一个编译器能够捕获到的错误只会造成程序员一些时间上的损失,因为他们会寻找解决编译错误的方法并修正。那些编译器无法捕获到的错误才是最危险的。这类错误不太容易察觉到,但可能会导致严重的后果,比如不正确的输出、数据被破坏以及程序崩溃。随着项目的膨胀,代码逻辑的复杂 阅读全文
posted @ 2013-04-06 17:39 busyfruit 阅读(388) 评论(0) 推荐(0)