gpt4 book ai didi

arrays - 在 Erlang 中对数组数组进行排序

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:32:45 26 4
gpt4 key购买 nike

我需要对数组进行排序,但不需要对经典数组进行排序。而且,在二郎!我说的是数组,其中每个元素都是两个整数的数组。

例如:[ [6,0], [12,1], [5,2], [10,3] ]

我需要根据每个数组的第一个元素对这个数组进行排序像这样:

[ [5,2], [6,0], [10,3], [12,1] ]

首先,我成功了:

-module(insertSort).
-export([insertion/1,insert/1,insert/2]).

insertion(L) -> lists:foldl(fun insert/2, [], L).

insert([]) -> [].

insert(X,[]) -> [X];
insert([],Y) -> [Y];

insert(X= [X1,_], L= [[H1,_] | _]) when X1 =< H1 -> [X|L];

insert(X,[H|T]) -> [H|insert(X, T)].

有时,数组是经过排序的。但是我有两个例子给了我两个奇怪的案例:

首先:[ [10,3], [5,2], [12,1], [6,0] ]变得 :[[[5,2], [6,0], [10,3], [12,1]]]]

不错,但我无法使用这种奇怪的结构。好像我有一个数组,里面有一个数组,里面有我所有的二元数组。

第二:[ [5,16], [11,12], [9,8], [16,4] ]变得 :[[[5,16], "\t\b","\v\f",[16,4]]]

是的,真的,有了这些\t\b..

我是 Erlang 的初学者,但我自己成功地完成了很多事情。我的项目是关于 Shank 算法,试图解决 y = a^x mod n 其中 y、a 和 n 给定。

你能告诉我我的 insertSort 模块有什么问题吗?

非常感谢,抱歉我的英语不好,我尽力了。

最佳答案

正如我在评论中所说,列表库的排序功能完全符合您的要求。

1> lists:sort( [ [6,0], [12,1], [5,2], [10,3] ]).
[[5,2],[6,0],[10,3],[12,1]]
2>

关于arrays - 在 Erlang 中对数组数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27711287/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com