我可以使用Sort或OrderBy对列表进行排序.哪一个更快?两者都在使用相同的算法吗?
List<Person> persons = new List<Person>();
persons.Add(new Person("P005", "Janson"));
persons.Add(new Person("P002", "Aravind"));
persons.Add(new Person("P007", "Kazhal"));
Run Code Online (Sandbox Code Playgroud)
1.
persons.Sort((p1,p2)=>string.Compare(p1.Name,p2.Name,true));
Run Code Online (Sandbox Code Playgroud)
2.
var query = persons.OrderBy(n => n.Name, new NameComparer());
class NameComparer : IComparer<string>
{
public int Compare(string x,string y)
{
return string.Compare(x, y, true);
}
}
Run Code Online (Sandbox Code Playgroud) UNIX sort命令可以像这样对一个非常大的文件进行排序:
sort large_file
Run Code Online (Sandbox Code Playgroud)
排序算法是如何实现的?
为什么它不会导致过多的内存消耗?
我正在寻找一个大约200-300个对象的数组,对特定的键和给定的顺序(asc/desc)进行排序.结果的顺序必须一致且稳定.
什么是最好的算法,你能提供一个在javascript中实现它的例子吗?
谢谢!
我有以下数组结构:
Array
(
[0] => Array
(
[configuration_id] => 10
[id] => 1
[optionNumber] => 3
[optionActive] => 1
[lastUpdated] => 2010-03-17 15:44:12
)
[1] => Array
(
[configuration_id] => 9
[id] => 1
[optionNumber] => 2
[optionActive] => 1
[lastUpdated] => 2010-03-17 15:44:12
)
[2] => Array
(
[configuration_id] => 8
[id] => 1
[optionNumber] => 1
[optionActive] => 1
[lastUpdated] => 2010-03-17 15:44:12
)
)
Run Code Online (Sandbox Code Playgroud)
基于optionNumber以递增方式订购数组的最佳方法是什么?
所以结果如下:
Array
(
[0] => Array
(
[configuration_id] => 8
[id] => …Run Code Online (Sandbox Code Playgroud) 当我输入命令时:
git tag -l
Run Code Online (Sandbox Code Playgroud)
我得到了这样的结果:
rc-0.9.0.0
rc-0.9.0.1
rc-0.9.0.10
rc-0.9.0.11
rc-0.9.0.12
rc-0.9.0.2
rc-0.9.0.3
rc-0.9.0.4
rc-0.9.0.5
rc-0.9.0.6
rc-0.9.0.7
rc-0.9.0.8
rc-0.9.0.9
Run Code Online (Sandbox Code Playgroud)
而不是我想要的:
rc-0.9.0.0
rc-0.9.0.1
rc-0.9.0.2
rc-0.9.0.3
rc-0.9.0.4
rc-0.9.0.5
rc-0.9.0.6
rc-0.9.0.7
rc-0.9.0.8
rc-0.9.0.9
rc-0.9.0.10
rc-0.9.0.11
rc-0.9.0.12
Run Code Online (Sandbox Code Playgroud)
如何对当前列表进行排序以获得此类结果?
我刚才有一个问题,我有一个结构数组,例如
package main
import "log"
type Planet struct {
Name string `json:"name"`
Aphelion float64 `json:"aphelion"` // in million km
Perihelion float64 `json:"perihelion"` // in million km
Axis int64 `json:"Axis"` // in km
Radius float64 `json:"radius"`
}
func main() {
var mars = new(Planet)
mars.Name = "Mars"
mars.Aphelion = 249.2
mars.Perihelion = 206.7
mars.Axis = 227939100
mars.Radius = 3389.5
var earth = new(Planet)
earth.Name = "Earth"
earth.Aphelion = 151.930
earth.Perihelion = 147.095
earth.Axis = 149598261
earth.Radius = 6371.0
var venus = …Run Code Online (Sandbox Code Playgroud) 我想根据字符串长度对字符串列表进行排序.我尝试使用如下排序,但它似乎没有给我正确的结果.
xs = ['dddd','a','bb','ccc']
print xs
xs.sort(lambda x,y: len(x) < len(y))
print xs
['dddd', 'a', 'bb', 'ccc']
['dddd', 'a', 'bb', 'ccc']
Run Code Online (Sandbox Code Playgroud)
可能有什么问题?
我想按照每个列表中的第四个元素(整数)对以下列表列表进行排序.
unsorted_list = [['a','b','c','5','d'],['e','f','g','3','h'],['i','j','k','4','m']]
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?谢谢!
Python默认按字节值排序,这意味着é来自z和其他同样有趣的东西.在Python中按字母顺序排序的最佳方法是什么?
有这个图书馆吗?我找不到任何东西.最好排序应该有语言支持所以它理解åäö应该用瑞典语中的z排序,但是ü应该用u等排序.因此,Unicode支持是非常必要的.
如果没有库,那么最好的方法是什么?只需从字母到整数值进行映射,然后将字符串映射到整数列表即可?
sort()Python使用的内置方法是什么算法?是否可以查看该方法的代码?