【问题标题】:Epoch Time Sorter纪元时间排序器
【发布时间】:2015-08-08 15:34:47
【问题描述】:

我面临以下问题。我有一些基于纪元时间的输入,如何每天对它们进行排序。

该计划的总体目标是生成一份总结报告 url 点击数,从最高点击数到最低点击数排序,有条理 每天(使用 GMT),最早的日期首先出现。 C中有没有库,我可以用来每天对纪元时间进行排序

1407564301|www.nba.com
1407478021|www.facebook.com
1407478022|www.facebook.com
1407481200|news.ycombinator.com
1407478028|www.google.com
1407564301|sports.yahoo.com
1407564300|www.cnn.com
1407564300|www.nba.com
1407564300|www.nba.com
1407564301|sports.yahoo.com
1407478022|www.google.com
1407648022|www.twitter.com

输出

08/08/2014 GMT
www.facebook.com 2
www.google.com 2
news.ycombinator.com 1
08/09/2014 GMT
www.nba.com 3
sports.yahoo.com 2
www.cnn.com 1
08/10/2014 GMT
www.twitter.com 1

【问题讨论】:

    标签: c epoch


    【解决方案1】:

    您可以使用哈希表(或类似的东西)。 Here你可以找到更多细节,我会给你一个基本的解释,以及如何在你的情况下应用它。

    哈希表用于使用哈希函数对数据进行分类。基本上,假设您有一些桶,每个桶都标有一些值。获取一个数据条目,通过散列函数运行它,并将其放入与散列函数返回的值相同的存储桶中。显然,在您的情况下,哈希函数必须是每天映射时代的函数。有很多方法可以做到这一点,但最简单的可能是使用标准函数strftime,它将时间戳转换为您想要的任何格式的日期,并将其用于您的哈希函数。

    当然,您可能希望动态分配这些“桶”(它们基本上是一些可能包含 url 数组的数据结构),以优化内存使用。

    【讨论】:

      猜你喜欢
      • 2017-12-22
      • 2012-08-10
      • 1970-01-01
      • 1970-01-01
      • 2011-04-27
      • 1970-01-01
      • 2013-04-24
      • 2023-03-27
      • 2012-01-30
      相关资源
      最近更新 更多