小编err*_*rah的帖子

包含时间数据的几乎排序列表的有效排序算法?

这个名字说的都是真的.我怀疑插入排序是最好的,因为它是一般的大多数排序数据的最佳排序.但是,由于我对数据有了更多了解,因此有可能还有其他种类可供选择.所以其他相关的信息是:

1)这是时间数据,这意味着我可以推测可以为数据排序创建有效的哈希值.2)数据不会同时存在.相反,我将阅读可能包含单个向量,或十几个或数百个向量的记录.我想在5秒钟内输出所有时间.因此,在插入数据时进行排序的排序可能是更好的选择.3)内存不是一个大问题,但CPU速度是因为这可能是系统的瓶颈.

鉴于这些条件,任何人都可以提出一个除了插入排序之外可能值得考虑的算法吗?另外,如何定义"主要排序"以确定什么是良好的排序选项?我的意思是我如何查看我的数据并决定'这不像我想象的那样排序,也许插入排序不再是最好的选择'?任何与文章相关的链接都可以理解,该文章考虑了流程复杂性,这些文章更好地定义了相对于学位数据的复杂性.

谢谢

编辑:谢谢大家的信息.我现在将进行简单的插入或合并排序(无论我已经预先编写).但是,一旦接近优化阶段,我将尝试其他一些方法(因为他们需要付出更多努力才能实现).我很感激帮助

c++ sorting algorithm insertion-sort

9
推荐指数
1
解决办法
3138
查看次数

我可以使用接受未定义数量参数的C宏吗?

可能重复:
如何创建可变参数宏(可变数量的参数)

我希望在基本C中有一个日志宏,它接受类似的参数printf并记录它们.但是,我希望它的记录(日志级别,文件vs stderr等)是在编译时设置的,而不是运行时; 如果我设置参数以忽略低级别日志记录,那么该方法什么也不做,并希望从代码中优化出来.

到目前为止,我有一个宏,它是根据编译时定义的参数定义的.如果参数已定义,则日志记录将转到我的日志方法(以记录到文件),否则将转到stderr.但是,我只能将一个字符串传递给这个宏.log方法能够获取无限数量的参数并使用printf语法.我想知道是否有办法设置我的宏,以便它将无限数量的参数传递给日志文件?

而且因为我怀疑答案是我不能这样做是否有另一种在基本C中实现我想要的方法(我不能使用C++或boost).

c macros logging

7
推荐指数
1
解决办法
2737
查看次数

标签 统计

algorithm ×1

c ×1

c++ ×1

insertion-sort ×1

logging ×1

macros ×1

sorting ×1