Instance Method

# reversed()

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

## Discussion

You can reverse a collection without allocating new space for its elements by calling this `reversed()` method. A `ReversedCollection` instance wraps an underlying collection and provides access to its elements in reverse order. This example prints the characters of a string in reverse order:

If you need a reversed collection of the same type, you may be able to use the collection’s sequence-based or collection-based initializer. For example, to get the reversed version of a string, reverse its characters and initialize a new `String` instance from the result.

Complexity: O(1)

### Reordering an Array's Elements

`func sort()`

Sorts the collection in place.

`func sort(by: (Element, Element) -> Bool)`

Sorts the collection in place, using the given predicate as the comparison between elements.

`func sorted() -> [Element]`

Returns the elements of the sequence, sorted.

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

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

`func reverse()`

Reverses the elements of the collection in place.

`func shuffle()`

Shuffles the collection in place.

`func shuffle<T>(using: inout T)`

Shuffles the collection in place, using the given generator as a source for randomness.

`func shuffled() -> [Element]`

Returns the elements of the sequence, shuffled.

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

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

`func partition(by: (Element) -> Bool) -> Int`

Reorders the elements of the collection such that all the elements that match the given predicate are after all the elements that don’t match.

`func swapAt(Int, Int)`

Exchanges the values at the specified indices of the collection.