Instance Method

sorted()

Returns the elements of the sequence, sorted.

Declaration

func sorted() -> [Character]

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

Reordering a String's Characters

func sorted(by: (Character, Character) -> Bool) -> [Character]

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

func reversed() -> ReversedCollection<String>

Returns a view presenting the elements of the collection in reverse order.

func shuffled() -> [Character]

Returns the elements of the sequence, shuffled.

func shuffled<T>(using: inout T) -> [Character]

Returns the elements of the sequence, shuffled using the given generator as a source for randomness.