summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorHugo Locurcio <hugo.locurcio@hugo.pro>2022-10-07 22:47:41 +0200
committerHugo Locurcio <hugo.locurcio@hugo.pro>2022-10-08 01:16:41 +0200
commit85b617a6a3a17f05b8e111220daec6eb769a81e8 (patch)
tree0cbf8074c046dfd9266ff2b88efcdc7cd340cb20 /doc
parent1baefceababe8a0d63434a231c3799555a45d8e3 (diff)
Document `Array.sort()` and `sort_custom()` using unstable sorting
Diffstat (limited to 'doc')
-rw-r--r--doc/classes/Array.xml4
1 files changed, 3 insertions, 1 deletions
diff --git a/doc/classes/Array.xml b/doc/classes/Array.xml
index d8c4b8fdb5..047089c917 100644
--- a/doc/classes/Array.xml
+++ b/doc/classes/Array.xml
@@ -557,6 +557,7 @@
<return type="void" />
<description>
Sorts the array.
+ [b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/wiki/Sorting_algorithm#Stability]stable[/url]. This means that values considered equal may have their order changed when using [method sort].
[b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural order). This may lead to unexpected behavior when sorting an array of strings ending with a sequence of numbers. Consider the following example:
[codeblocks]
[gdscript]
@@ -581,7 +582,8 @@
<param index="0" name="func" type="Callable" />
<description>
Sorts the array using a custom method. The custom method receives two arguments (a pair of elements from the array) and must return either [code]true[/code] or [code]false[/code]. For two elements [code]a[/code] and [code]b[/code], if the given method returns [code]true[/code], element [code]b[/code] will be after element [code]a[/code] in the array.
- [b]Note:[/b] You cannot randomize the return value as the heapsort algorithm expects a deterministic result. Doing so will result in unexpected behavior.
+ [b]Note:[/b] The sorting algorithm used is not [url=https://en.wikipedia.org/wiki/Sorting_algorithm#Stability]stable[/url]. This means that values considered equal may have their order changed when using [method sort_custom].
+ [b]Note:[/b] You cannot randomize the return value as the heapsort algorithm expects a deterministic result. Randomizing the return value will result in unexpected behavior.
[codeblocks]
[gdscript]
func sort_ascending(a, b):