Instance Method

sorted()

Returns the elements of the sequence, sorted.

Declaration

func sorted() -> [Element]
Available when Element conforms to Comparable.

Return Value

A sorted array of the sequence’s elements.

Discussion

You can sort any sequence of elements that conform to the Comparable protocol by calling this method. Elements are sorted in ascending order.

Here’s an example of sorting a list of students’ names. Strings in Swift conform to the Comparable protocol, so the names are sorted in ascending order according to the less-than operator (<).

let students: Set = ["Kofi", "Abena", "Peter", "Kweku", "Akosua"]
let sortedStudents = students.sorted()
print(sortedStudents)
// Prints "["Abena", "Akosua", "Kofi", "Kweku", "Peter"]"

To sort the elements of your sequence in descending order, pass the greater-than operator (>) to the sorted(by:) method.

let descendingStudents = students.sorted(by: >)
print(descendingStudents)
// Prints "["Peter", "Kweku", "Kofi", "Akosua", "Abena"]"

The sorting algorithm is not guaranteed to be stable. A stable sort preserves the relative order of elements that compare equal.

Complexity: O(n log n), where n is the length of the sequence.