我试着用GLib的GenericArray
,Slist
,List
做一些排序。与sort_with_data
排序按预期工作,但当我尝试Glib的Array
它不起作用,或者更确切地说,它做了一些不同的事情!GLIb数组排序,如何排序?
这是我对整数排序功能:
[indent=4]
init
var a = new Array of int
for i in new array of int = {3, 2, 1, 5, 7}
a.append_val (i)
a.sort_with_data (my_func)
for var i = 0 to (a.length - 1)
stdout.printf ("%d, ", a.index (i))
// 3, 2, 1, 5, 7,
stdout.putc ('\n')
a.sort (my_func)
for var i = 0 to (a.length - 1)
stdout.printf ("%d, ", a.index (i))
// 3, 2, 1, 5, 7,
def my_func (a: int, b: int): int
return a - b
输出 3,2,1,5,7,
我不知道什么是错的事。请不要告诉我使用Gee! 我的问题是排序数组int 谢谢!
的可能重复的[\ [精灵/ VALA \]:如何使用自定义比较排序(http://stackoverflow.com/questions/26572319/genie-vala-how-to-sort-using-a-custom-comparator) – 2014-10-29 11:36:56
你现在基本上提出了相同的问题*三次*。您应该回到第一个问题并对其进行编辑以显示您的进度或添加更多详细信息。多次询问相同的东西并不是要走的路。 – 2014-10-29 11:38:36