Questions tagged «sorting»

排序是将一些订单应用于项目集合的过程。

30
如何有效地将袜子配对?
昨天我从干净的洗衣店里给袜子配对,发现我做这件事的方式不是很有效。我一直在天真地搜寻-挑选一只袜子,然后“反复”寻找那双袜子。这需要遍历的n / 2 * N / 4 = N 2平均/ 8的袜子。 作为计算机科学家,我在想我能做什么?当然会想到进行排序(根据大小/颜色/ ...)以实现O(NlogN)解决方案。 不能选择散列或其他非现场解决方案,因为我无法复制袜子(尽管如果可以的话,可能会很好)。 因此,问题基本上是: 给定一堆n袜子,其中包含2n元素(假设每只袜子都具有一对完全匹配的袜子),最好的方法是将它们有效配对并具有对数的额外空间?(我相信我可以记住该信息的数量,如果需要的话。) 我希望能从以下几个方面回答这个问题: 大量袜子的一般理论解决方案。 袜子的实际数量不是很大,我不相信我的配偶和我有超过30对。(而且很容易区分我的袜子和她的袜子;也可以使用吗?) 它等同于元素区分性问题吗?

30
如何按值对字典排序?
这个问题的答案是社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。 我有一个从数据库的两个字段中读取的值的字典:字符串字段和数字字段。字符串字段是唯一的,因此这是字典的键。 我可以对键进行排序,但是如何根据值进行排序? 注意:我在这里阅读了堆栈溢出问题,如何按字典值对字典列表进行排序?可能会更改我的代码以包含字典列表,但是由于我实际上并不需要字典列表,因此我想知道是否存在一种更简单的解决方案来按升序或降序进行排序。

30
按字符串属性值对对象数组进行排序
我有一个JavaScript对象数组: var objs = [ { first_nom: 'Lazslo', last_nom: 'Jamf' }, { first_nom: 'Pig', last_nom: 'Bodine' }, { first_nom: 'Pirate', last_nom: 'Prentice' } ]; 如何按last_nomJavaScript中的值对它们进行排序? 我知道sort(a,b),但这似乎只适用于字符串和数字。我是否需要向toString()对象添加方法?


30
按值对Map <Key,Value>进行排序
我对Java比较陌生,经常发现我需要Map&lt;Key, Value&gt;对这些值进行排序。 由于值不是唯一的,因此我发现自己将转换keySet为array,然后使用自定义比较器对数组进行排序,该自定义比较器对与键关联的值进行排序。 有没有更简单的方法?

30
按属性值对对象数组进行排序
我使用AJAX获得了以下对象并将它们存储在数组中: var homes = [ { "h_id": "3", "city": "Dallas", "state": "TX", "zip": "75201", "price": "162500" }, { "h_id": "4", "city": "Bevery Hills", "state": "CA", "zip": "90210", "price": "319250" }, { "h_id": "5", "city": "New York", "state": "NY", "zip": "00010", "price": "962500" } ]; 如何仅使用JavaScript 创建一个函数以按price属性升序 或 降序对对象进行排序?

19
如何按多个列对数据框进行排序
我想按多个列对data.frame进行排序。例如,对于下面的data.frame,我想按列z(降序)然后按列b(升序)排序: dd &lt;- data.frame(b = factor(c("Hi", "Med", "Hi", "Low"), levels = c("Low", "Med", "Hi"), ordered = TRUE), x = c("A", "D", "A", "C"), y = c(8, 3, 9, 9), z = c(1, 1, 1, 2)) dd b x y z 1 Hi A 8 1 2 Med D 3 1 …
1316 r  sorting  dataframe  r-faq 

27
如何对带有自定义对象的NSMutableArray进行排序?
我想做的事情看起来很简单,但是我在网上找不到任何答案。我有一个NSMutableArray对象,可以说它们是“人”的对象。我想NSMutableArray按Person.birthDate 排序,这是一个NSDate。 我认为这与这种方法有关: NSArray *sortedArray = [drinkDetails sortedArrayUsingSelector:@selector(???)]; 在Java中,我可以使我的对象实现Comparable,或者将Collections.sort与内联自定义比较器一起使用...实际上,您如何在Objective-C中做到这一点?

20
如何通过对象中的属性对List <T>进行排序
我有一个名为类Order具有的属性,例如OrderId,OrderDate,Quantity,和Total。我有这个Order班的清单: List&lt;Order&gt; objListOrder = new List&lt;Order&gt;(); GetOrderList(objListOrder); // fill list of orders 现在,我想根据Order对象的一个属性对列表进行排序,例如,我需要按订单日期或订单ID对其进行排序。 我该如何在C#中做到这一点?
1247 c#  generics  list  sorting 

28
按属性对自定义对象的ArrayList进行排序
我读过有关使用Comparator对ArrayList进行排序的信息,但在所有示例中,人们都在使用 compareTo,根据一些研究都是String的一种方法。 我想按自定义对象的属性之一对ArrayList进行排序:Date对象(getStartDay())。通常,我将它们进行比较,item1.getStartDate().before(item2.getStartDate())因此我想知道是否可以编写类似以下内容的内容: public class CustomComparator { public boolean compare(Object object1, Object object2) { return object1.getStartDate().before(object2.getStartDate()); } } public class RandomName { ... Collections.sort(Database.arrayList, new CustomComparator); ... }
1145 java  sorting  date  comparator 

11
如何按值对多维数组进行排序?
如何按“订单”键的值对该数组排序?即使这些值当前是连续的,也不会总是如此。 Array ( [0] =&gt; Array ( [hashtag] =&gt; a7e87329b5eab8578f4f1098a152d6f4 [title] =&gt; Flower [order] =&gt; 3 ) [1] =&gt; Array ( [hashtag] =&gt; b24ce0cd392a5b0b8dedc66c25213594 [title] =&gt; Free [order] =&gt; 2 ) [2] =&gt; Array ( [hashtag] =&gt; e7d31fc0602fb2ede144d18cdffd816b [title] =&gt; Ready [order] =&gt; 1 ) )


9
Swift Beta性能:对数组进行排序
我在Swift Beta中实现一种算法,发现性能非常差。深入研究后,我意识到瓶颈之一就是对数组进行排序一样简单。相关部分在这里: let n = 1000000 var x = [Int](repeating: 0, count: n) for i in 0..&lt;n { x[i] = random() } // start clock here let y = sort(x) // stop clock here 在C ++中,类似的操作在我的计算机上花费0.06s。 在Python中,它花费0.6秒(绝招,仅y =整数列表的sorted(x))。 在Swift中,如果使用以下命令进行编译,则需要6s: xcrun swift -O3 -sdk `xcrun --show-sdk-path --sdk macosx` 如果使用以下命令进行编译,则最多需要88s: xcrun swift …

24
如何正确排序整数数组
尝试从我知道仅包含整数的数组中获取最高和最低值似乎比我想象的要难。 var numArray = [140000, 104, 99]; numArray = numArray.sort(); alert(numArray) 运行代码段隐藏结果展开摘要 我希望这能显示出来99, 104, 140000。相反,它显示104, 140000, 99。因此,似乎排序将值作为字符串处理。 有没有一种方法可以使sort函数对整数值进行实际排序?

8
如何根据对象的属性对对象列表进行排序?
我有一个Python对象列表,我想按对象本身的属性对其进行排序。该列表如下所示: &gt;&gt;&gt; ut [&lt;Tag: 128&gt;, &lt;Tag: 2008&gt;, &lt;Tag: &lt;&gt;, &lt;Tag: actionscript&gt;, &lt;Tag: addresses&gt;, &lt;Tag: aes&gt;, &lt;Tag: ajax&gt; ...] 每个对象都有一个计数: &gt;&gt;&gt; ut[1].count 1L 我需要按递减计数对列表进行排序。 我已经看到了几种方法,但是我正在寻找Python的最佳实践。
803 python  list  sorting  oop  count 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.