随机产生 1000 个 1-2000 以内的互不相同的整数,
1)存储于一个数组中(不排序)
2)存储于一个数组中(排序)
分别应用查找运算,要求输入一个查找元素,输出各自的查找比较次数。
1)查找元素 2
2)查找元素 1000
练习一下C++的神仙眷侣所提倡的用“类”来表达观点的编程风格。
查找(CFind)是一个概念,作用于特定的数据(CData),因为数据有各种不同的特性,有排序了的(CDataSorted),和没有排序过的(CDataChaos),对于不同特性的数据,应该应用不同的查找方法, 对于排序过的数据(CDataSorted),应该使用一种查找方法(CFindBinarySearch), 对于没有排序过的数据(CDataChaos),应该使用另一种查找方法(CFindWorker), 呵呵,所以产生了如下的类图:
+----------+ +-------+
+ CFind +<>-------------------------->+ CData +
+-+------+-+ +---+---+
^ ^ ^
^ ^ +--------+------+
^ ^ ^ ^
+-----------+-+ +-+-----------------+ +-----+-------+ +---+--------+
+