![]() |
1
88
注意这只适用于 一维 (又名“正常”?)数组。(有一个工作的多维数组快速排序 here ) |
![]() |
2
15
我把“快速快速排序”算法转换成了vba,如果其他人想要的话。 我已经对它进行了优化,可以在int/long数组上运行,但是将其转换为可以处理任意可比元素的数组应该很简单。
|
![]() |
3
9
Explanation 在德语中,代码是经过良好测试的就地实现:
调用方式如下:
|
![]() |
4
6
我发布了一些代码来回答StackOverflow上的一个相关问题: Sorting a multidimensionnal array in VBA 该线程中的代码示例包括:
Alain优化的Quicksort非常有光泽:我刚刚做了一个基本的拆分和递归,但是上面的代码示例有一个“gating”函数,可以减少重复值的冗余比较。另一方面,我为Excel编写代码,还有一点防御性的编码方式——请注意,如果您的数组包含有害的“empty()”变量,您将需要它,这将打破您的同时…Wend比较运算符并将代码陷入无限循环中。 请注意,QuickSort算法和任何递归算法都可以填充堆栈并崩溃Excel。如果数组的成员少于1024个,我将使用基本的BubbleSort。
Public Sub QuickSortArray(ByRef SortArray As Variant, _ Optional lngMin As Long = -1, _ Optional lngMax As Long = -1, _ Optional lngColumn As Long = 0) On Error Resume Next |
![]() |
5
6
自然数(字符串)快速排序 只是为了深入讨论这个话题。 通常,如果用数字对字符串进行排序,会得到如下结果:
但你真的希望它能识别数值,并像
这是怎么做的… 注:
自然数快速排序
自然数比较(用于快速排序)
isdigit(用于比较自然)
|
![]() |
6
4
|
![]() |
7
2
您不希望使用基于Excel的解决方案,但由于我今天遇到了同样的问题,并且希望使用其他Office应用程序函数进行测试,因此我在下面编写了该函数。 局限性:
已测试从Visio 2010调用Excel 2010
以下是如何测试函数的示例:
如果有人使用其他版本的Office对此进行测试,如果有任何问题,请在此处发布。 |
![]() |
8
0
我想知道您对这个数组排序代码有什么看法。它执行起来很快,而且可以完成…尚未测试大型阵列。它适用于一维数组,对于多维附加值,需要构建重新定位矩阵(使用比初始数组少一个维度)。
|
![]() |
9
0
我认为我的代码(测试)更“受教育”,假设 越简单越好 .
|
![]() |
10
0
这是我在内存中用来排序的——它可以很容易地扩展为对数组进行排序。
|
![]() |
Cute dog · 如何将文本与重新排序的图像相匹配? 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
![]() |
Rohan Mittal · 按dict值对dict排序 2 年前 |
![]() |
Pikachu620 · 可以对事件列表进行排序吗? 2 年前 |
![]() |
Saif · 排序时python如何决定何时调用比较器? 2 年前 |
![]() |
tryingmybest09 · 设置出生日期排序不正确 2 年前 |