Swift程序 在Set中搜索元素

Swift程序 在Set中搜索元素

在Swift中,我们可以使用contains(_:)函数或线性搜索来搜索Set中的元素。这两种方法都可以高效地搜索Set中的元素。让我们详细讨论这两种方法并附带示例。

方法1:使用contains(_:)函数

Swift提供了一个内置函数contains()函数来搜索Set中的元素。如果指定元素存在于给定的Set中,该函数将返回true。如果指定元素不存在于给定的Set中,该函数将返回false。

语法

sets.contains(myElement)

其中,sets是一个有限的Set,myElement表示我们要在Set中搜索的目标元素。这个函数返回一个布尔值,指示给定元素是否存在于Set中。

算法

  • 步骤1 – 创建和初始化一个Set。

  • 步骤2 – 创建一个名为ele =“Tomato”的变量,用于存储我们要在Set中抵达的元素。

  • 步骤3 – 现在使用contains()函数检查Set是否包含ele。

  • 步骤4 – 如果Set包含ele,则打印“Yes! veggies set contains ‘Tomato’”。

  • 步骤5 – 如果Set不包含ele,则打印”No! veggies set does not contain ‘Tomato'”。

示例

在以下的Swift示例中,我们将创建和初始化一个名为“veggies”的Set。然后,我们创建一个名为“ele”的变量,用于存储我们要在veggies Set中搜索的元素。然后,我们使用contains(:)函数来查找veggies Set中的’Tomato’元素。如果contains(:)函数返回true,则打印”Yes! veggies set contains ‘Tomato'”。否则,我们打印”No! veggies set does not contain ‘Tomato'”。在这里,’Tomato’存在于给定的Set中,所以我们得到”Yes! veggies set contains ‘Tomato'”的消息。

import Foundation
import Glibc

// Creating a set
var veggies: Set<String> = ["Pea", "Onion", "Potato", "Tomato", "Chilli"]

// Element to be searched
var ele = "Tomato"

// Search ele in veggies set
if veggies.contains(ele) {
   print("Yes! veggies set contains 'Tomato'")
} else {
   print("No! veggies set does not contain 'Tomato'")
}

输出

Yes! veggies set contains 'Tomato'

方法2:使用线性搜索

我们也可以使用线性搜索来搜索Set中的元素。在线性搜索中,我们从开头顺序搜索元素,直到找到所需的元素。如果未找到元素,则返回nil。

算法

  • 步骤1 – 创建和初始化一个Set。

  • 步骤2 – 创建一个名为ele = 18的变量,用于存储我们要在Set中抵达的元素。

  • 步骤3 – 创建另一个名为flag的变量,用于跟踪元素是否已找到。标记变量被设置为false。如果找到元素,则将flag的值更改为true。否则不更改。

  • 步骤4 – 然后运行一个for-in循环来迭代Set的每个元素,并检查当前元素是否等于ele。如果找到匹配,则将标志设置为true并中断循环。

  • 步骤5 – 最后我们检查标志的值。

  • 步骤6 – 如果flags为true,则打印”YES! set contains ‘\(ele)’”。

  • 步骤7 – 如果flags为false,则打印”NO! set does not contain ‘\(ele)’”。

示例

在以下的Swift示例中,我们将创建和初始化一个名为“myNum”的Set。然后,我们创建一个名为“ele”的变量,用于存储我们要在myNum Set中搜索的元素。我们还创建一个标志变量,它将跟踪元素是否存在于Set中。然后,我们运行一个for循环来迭代给定Set的每个元素,并检查指定的元素是否存在。如果找到元素,则将标志变量的值设置为true并中断循环。现在我们检查标志变量的值并根据需要显示消息。如果flag的值为true,则打印”YES! set contains ‘\(ele)’”。否则打印”NO! set does not contain ‘\(ele)’”。 在这里,在我们的例子中18存在于Set中,所以我们得到“YES! set contains ’18’”的消息。

import Foundation
import Glibc

// Creating a set
var myNum: Set = [23, 14, 2, 18, 22, 15, 16]

// Element to be searched
let ele = 18
var flag = false

// Search ele in myNum set
for element in myNum {
   if element == ele {
      flag = true
      break
   }
}

if flag {
   print("YES! set contains '\(ele)'")
} else {
   print("NO! set does not contain '\(ele)'")
}

输出

YES! set contains '18'

结论

这就是我们如何在Set中搜索元素。contains()函数和线性搜索方法都返回准确的结果。在这里,使用contains()函数是比线性搜索更少时间的方法,用于搜索Set中的元素。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Swift 示例