Tag: sorting

如何按string的长度sorting,然后按字母顺序sorting?

我目前是新来的python卡住了这个问题,似乎无法find正确的答案。 问题:给出单词列表,按照长度(从最长到最短)的顺序返回一个相同单词的列表,第二个sorting标准应该是按字母顺序的。 提示:你需要考虑两个function。 这是我迄今为止: def bylength(word1,word2): return len(word2)-len(word1) def sortlist(a): a.sort(cmp=bylength) return a 它按长度sorting,但我不知道如何将第二个标准应用于这种按字母顺序递减的sorting。

Java数组sorting:快速获取数组索引的sorting列表

问题:Consder下面的花车[]: d[i] = 1.7 -0.3 2.1 0.5 我想要的是一个int []的数组,它代表了带有索引的原始数组的顺序。 s[i] = 1 3 0 2 d[s[i]] = -0.3 0.5 1.7 2.1 当然,也可以使用自定义比较器,一组有序的对象,或者简单地对数组进行sorting,然后search原始数组中的索引(颤抖)。 我实际上在寻找的是Matlab的sorting函数的第二个返回参数的等价物。 有没有一个简单的方法来做到这一点(<5 LOC)? 可能有一个解决scheme,不需要为每个元素分配一个新的对象? 更新: 感谢您的回应。 不幸的是,到目前为止所提出的一切都不是我期望的简单而有效的解决scheme。 因此,我在JDK反馈论坛中开辟了一个线程,提出增加一个新的类库函数来解决这个问题。 让我们看看Sun / Oracle对这个问题的看法。 http://forums.java.net/jive/thread.jspa?threadID=62657&tstart=0

如何在Scala中定义一个订单?

有val hm: HashMap[org.joda.time.DateTime, MyType]我想通过hm.keys.min和hm.keys.max分别hm.keys.min集合的第一个和最后一个DateTime ,但是编译器显示No implicit Ordering defined for org.joda.time.DateTime 。 如何定义这种sorting(隐式和显式选项都很有趣)?

sorting类实例的列表Python

我有一个类实例的列表 – x = [<iteminstance1>,…] 除了其他属性之外,该类还有score属性。 如何根据此参数以升序排列项目? 编辑 :在Python中的list有所谓的sort 。 我可以在这里使用吗? 我如何直接使用此function来使用我的score属性?

sorting列表<date时间>降序

在c#(3.0或3.5,所以我们可以使用lambdaexpression式),是否有一个优雅的方式按照降序排列date列表? 我知道我可以做一个直接sorting,然后扭转整个事情, docs.Sort((x, y) => x.StoredDate.CompareTo(y.StoredDate)); docs.Reverse(); 但有一个lambdaexpression式来做到这一步? 在上面的例子中,StoredDate是一个types为DateTime的属性。

JavaScript数组sorting和唯一

我有这样的JavaScript数组: var myData=['237','124','255','124','366','255']; 我需要数组元素是唯一的和sorting的: myData[0]='124'; myData[1]='237'; myData[2]='255'; myData[3]='366'; 即使数组的成员看起来像整数 ,但它们不是整数 ,因为我已经将每个成员转换为string: var myData[0]=num.toString(); //…and so on. 有没有办法在JavaScript中完成所有这些任务?

找出j和i指标之间的最大差异,使得在O(n)中j> i和a > a

给定一个未sorting的数组,找出max j – i之间的差异,使得在O(n)中j > i和a[j] > a[i] 。 我能够findj和i在O(n^2)复杂性中使用微不足道的方法,但是想知道如何在O(n)做到这一点? input:{9,2,3,4,5,6,7,8,18,0} 输出:8(j = 8,i = 0) input:{1,2,3,4,5,6} 输出:5(j = 5,i = 0)

在不同的STL实现中,哪些algorithm用于C ++ 11 std :: sort?

C ++ 11标准保证std::sort 在最坏的情况下具有O(n logn)的复杂性 。 这与C ++ 98/03中的平均保证有所不同,在这种情况下 std::sort可以用Quicksort来实现(可能与小n的插入sorting相结合),在最坏的情况下有O(n ^ 2) (对于一些特定的input,例如sorting的input)。 不同的STL库中的std::sort实现有没有改变? C ++ 11的std::sort如何在不同的STL中实现?

为什么不平滑更普遍?

从阅读维基百科关于sortingalgorithm的文章,似乎smoothsort是最好的sortingalgorithm。 它在所有类别中都有顶级的performance:最好的,平均的和最差的。 没有什么比它在任何类别中都要好。 它也有不断的内存需求。 唯一的缺点是它不稳定。 它在内存中击败timsort,在最坏的情况下性能和内存都能快速跳动。 但是我从来没有听说过smoothsort。 没有人提到过,大多数讨论似乎围绕着其他sortingalgorithm。 这是为什么?

如何将具有已知键的数组元素移动到PHP中数组的结尾?

大脑冻结了一个相当微不足道的问题。 如果我从这样的数组开始: $my_array = array( 'monkey' => array(…), 'giraffe' => array(…), 'lion' => array(…) ); …新元素可能会添加不同的键,但总是一个数组值。 现在我可以肯定,第一个元素总是会有“猴子”的关键,但我不能确定任何其他的关键。 当我完成填充数组时,我想将已知元素“猴子”移动到数组的末尾,而不妨碍其他元素的顺序。 什么是最有效的方式来做到这一点? 我所能想到的每一个方式似乎都有点笨重,我觉得我错过了一些明显的东西。