排序字母数字字段的最佳/最快方法是什么?

===============>>#1 票数:1

您没有指定目标语言,但无论它是什么,它都应该具有可靠的内置排序方法,因此请使用其中一种语言! 对于PHP ...

加载到数组并排序($ array);

php排序 ...

$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);

foreach ($fruits as $key => $val)
{
    echo "fruits[" . $key . "] = " . $val . "\n";
}

输出:

fruits[0] = apple
fruits[1] = banana
fruits[2] = lemon
fruits[3] = orange

===============>>#2 票数:1

泡泡排序 开玩笑 :)

可能是你最好的选择将是快速排序归并

两者都是O(nlogn)而不是冒泡排序的O(n ^ 2)

===============>>#3 票数:1

您的问题的答案与您未提供的一些细节密切相关。 “最佳/最快”的方式取决于字段的长度,排序的数量,可用的内存量,磁盘和内存的相对速度,字符串中的内容的详细信息,..., ad恶心

Knuth Vol 3详细介绍了各种方法。 我不记得他是否讨论过Radix排序,但他可能会这样做。 如果他不这样做,你应该查看有关Radix Sorting的一些参考资料。 它只适用于狭窄的情况,但在那里肯定会飞。 如果您有一小组短字符串,由于较低的开销,Bubble Sort在某些体系结构上的性能优于复杂的排序。 C运行时库包含一个快速排序版本,因为在某些情况下,它可以是一个非常有效的大数据集算法。

网络,答案是“它取决于”。

===============>>#4 票数:1

“最佳”方式取决于很多因素:

  1. 你需要支持的不仅仅是语言吗?
  2. 你是否需要同时支持多种语言?
  3. 您是否需要支持当前操作系统或用户语言以外的语言? (例如,网络应用程序)
  4. 您需要支持多种编码吗? (unicode,utf-16le / utf-8,ansi代码页等)
  5. 您需要支持长或高冗余输入吗? (预计算或压缩可以加快排序操作)
  6. 您是否需要支持大量输入,例如:百万或十亿输入?

===============>>#5 票数:0

您会发现大多数开发库附带了快速排序算法的实现,这通常是最快的排序算法。 在这里查看Wikipedia链接

===============>>#6 票数:0

在C#中,List有.Sort()。

一般来说,QuickSort在很多情况下都非常快,但它总是取决于阵列的大小,

这是链接

  ask by JeffM translate from so

未解决问题?本站智能推荐:

1回复

按Excel字母数字排序

我有一个Excel工作表,需要按字母数字列进行排序。 我目前可以执行此操作,但这是一个丑陋的方法,我想使用vba宏来执行此操作。 它是数字3-22和字母AZ,目前我只能让vba对它进行3-22排序,并且它忽略了字母部分。 我需要3(AZ),然后是4(AZ)等,它需要对整张纸进行排序。
1回复

字母数字mysql排序

我知道已经对此进行了很多讨论,并且我已经阅读了很多关于q / a的内容,以达到我所能理解的范围。 我几乎可以完美地工作了,但还不是很完美。 以下是我得到的结果和所需条件的示例。 我必须订购的代码是 这在大多数情况下都有效,但不能正确地对数字进行排序。 前缀是不同的字母和长度
2回复

按字母和数字排序

该文件读为 我如何将它们按数字顺序排序,例如降序排列?
2回复

字母数字按升序排序?

我想知道是否有一种方法,无论是在VBA还是Excel中,都按数字值递增的顺序对字母数字字符列表进行排序? 例如: 给定数字列表: 40T1000 40T989 40T421 40T654 40T532 如何将它们排序为: 4
1回复

VIM中的字母数字排序

假设我在文本文件中有一个列表,如下所示- 如果我用%sort命令在vim中%sort ,则输出为- 但是我希望输出如下: 注意我只是写了这个列表来演示这个问题。 我可以在VIM中生成列表。 但是我也想在VIM中做其他事情。
3回复

字母数字子类排序[关闭]

我需要编写Java代码将VBA7425IWC为ABV2457CIW 。 在这方面我需要帮助。 如果我对字符串进行排序,它们将按ASCII值进行排序,并且数字变成一个块,而字母变成另一个。
3回复

使用数字和字母(字母数字)名称对文件/对象进行排序

我的文件是: 我想对它们执行特定操作,我可以这样做: 但是R按照这个顺序绘制它们: “CT.BP.200.txt”“CT.BP.500.txt”“CT.BP.50.txt”“GP.BP.200.txt”“GP.BP.500.txt”“GP.BP. 50.txt”
1回复

首先按字母对包含字母数字项目的列表进行排序

我有一个包含字母数字项的列表: 我正在尝试使用sorted方法sorted顺序对其进行sorted : 但我得到的是: 我尝试将几个key传递给sorted ,但我无法弄明白。 我应该使用什么key ? 或者我应该使用其他方法?
1回复

SQl Server:首先对字母数字进行排序,然后是数字

我能够按数字排序然后字母数字。我需要反向排序,我需要首先排序字母数字然后数字 例: 1, 3, 13036, 101-2011-009X2, 20-100281-01, ELO-001, ELO001B, ELO002B
2回复

如何在PostgreSQL中按数字和字母数字项目排序

这个问题已经在这里有了答案: 单词和数字混合字符串的人性化或自然数排序 6个答案 我想对具有数字和字母数字项目的列表进行排序: PIEZA1 0001 皮萨20 REF30 234 参考2 FDGSDFG