如何在Swift中对数组进行洗牌?

如何在Swift中对数组进行洗牌?

在这篇文章中,您将学习如何在Swift语言中对数组进行洗牌。

在Swift中,您可以使用shuffle()和shuffled()方法来对数组元素进行洗牌。

shuffle()

shuffle()方法会原地对集合的元素进行洗牌,因此原始数组会被修改。

shuffled()

如果您想创建一个洗牌后的数组副本而不是修改原始数组,可以使用Sequence协议中的shuffled()方法。

这里是一个使用shuffle()对数组元素进行洗牌的示例

算法

  • 步骤1 – 创建一个输入数组

  • 步骤2 – 在输入数组上调用shuffle()函数

  • 步骤3 – 这个方法会修改原始数组

示例

import Foundation
var languages: [String] = ["PHP", "Java", "Swift", "Python", "JavaScript", "GoLang"]
print("Original array = ",languages)
languages.shuffle()
print("Shuffle array = ",languages)

输出

Original array =  ["PHP", "Java", "Swift", "Python", "JavaScript", "GoLang"]
Shuffle array =  ["Java", "GoLang", "JavaScript", "Python", "Swift", "PHP"]

请注意元素的顺序是随机的。

以下是使用shuffled()对数组元素进行洗牌的示例

算法

  • 步骤1 – 创建一个输入数组

  • 步骤2 – 在输入数组上调用shuffled()函数

  • 步骤3 – 此方法返回一个新的数组

示例

import Foundation
var languages: [String] = ["PHP", "Java", "Swift", "Python", "JavaScript", "GoLang"]
print("Original array = ",languages)
let shuffledLanguages = languages.shuffled()
print("Shuffle array = ",shuffledLanguages)

输出结果

Original array =  ["PHP", "Java", "Swift", "Python", "JavaScript", "GoLang"]
Shuffle array =  ["PHP", "GoLang", "JavaScript", "Swift", "Python", "Java"]

注意元素的顺序是随机的。

结论

shuffle()和shuffled()都使用Foundation框架提供的默认随机数生成器。如果您需要对随机化过程进行更多控制,可以使用其他随机化方法或创建自己的随机数生成器。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程