Instance Method

shuffle()

Shuffles the collection in place.

Declaration

mutating func shuffle()

Discussion

Use the shuffle() method to randomly reorder the elements of an array.

var names = ["Alejandro", "Camila", "Diego", "Luciana", "Luis", "Sofía"]
names.shuffle(using: myGenerator)
// names == ["Luis", "Camila", "Luciana", "Sofía", "Alejandro", "Diego"]

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

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

See Also

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