Instance Method

sorted()

Returns the elements of the sequence, sorted.

Declaration

func sorted() -> [Self.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.

See Also

Sorting Elements

func sorted(by: (Self.Element, Self.Element) -> Bool) -> [Self.Element]

Returns the elements of the sequence, sorted using the given predicate as the comparison between elements.

func reversed() -> [Self.Element]

Returns an array containing the elements of this sequence in reverse order.