Instance Method

# shuffled()

Returns the elements of the sequence, shuffled.

## Return Value

A shuffled array of this sequence’s elements.

## Discussion

For example, you can shuffle the numbers between `0` and `9` by calling the `shuffled()` method on that range:

This method is equivalent to calling `shuffled(using:)`, passing in the system’s default random generator.

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

### 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 reversed() -> ReversedCollection<Array<Element>>`

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

`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<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.