Swift 字符串排序程序
在 Swift 中,字符串排序是指按指定的顺序排列字符串中的字符,可以是升序,也可以是降序。例如 -
Input: String = "color of the bird is pink"
Output:" bcdefhiiiklnoooprrst"
此处,结果字符串按升序排序。
因此,为了对字符串进行排序,Swift 提供了一个名为 sorted() 的内置函数。此函数返回一个已排序的字符串,其中字符串的字符按升序或降序存储。此函数可以定义为带参数和不带参数两种类型。
请注意,sorted() 函数不会删除空格字符,而是将所有空格字符放在结果字符串的开头。
语法 1
func sorted() 或 func sorted(by:)
此函数不接受任何参数,并返回按升序排序的字符串。
语法 2
func sorted(by:)
此处,此函数仅接受一个参数,即 > 或 < 运算符。如果我们在"by"参数中传递 < 运算符,则此方法按升序对字符串进行排序。如果我们在"by"参数中传递 > 运算符,则此方法按升序对字符串进行排序。运算符,则此方法将按降序对字符串进行排序。
算法
步骤 1 - 创建一个函数,该函数接受输入字符串并返回存储的字符串。
步骤 2 - 在函数内部,我们使用 sorted() 函数对字符串进行排序。
步骤 3 - 然后使用 String() 初始化器将结果转换为字符串并返回。
步骤 4 - 创建输入字符串。
步骤 5 - 调用该函数并将字符串传递给它。
步骤 6 - 显示输出。
示例1
在下面的 Swift 程序中,我们将对一个字符串进行排序。因此,创建一个函数,该函数接受输入字符串作为参数,并返回一个排序后的字符串。在函数内部,我们将使用 sorted() 函数对字符串的所有字符按升序排序。然后,使用 String() 初始化器将结果转换为字符串并返回结果字符串。
import Foundation
import Glibc
func sortString(Str: String) -> String {
let sortedStr = Str.sorted()
return String(sortedStr)
}
let enteredString = "ronita sing song"
let resultantString = sortString(Str:enteredString)
print("原始字符串:", enteredString)
print("排序后的字符串:", resultantString)
输出
原始字符串:ronita sing song 排序后的字符串:aggiinnnoorsst
示例 2
在下面的 Swift 程序中,我们将对包含大小写字符的字符串进行排序。因此,创建一个函数,该函数接受输入字符串作为参数并返回排序后的字符串。在函数内部,首先使用 lowercased() 函数将字符串转换为小写,然后使用 sorted() 函数按升序对字符串中的所有字符进行排序。之后,使用 String() 初始化器将结果转换为字符串并返回结果字符串。
import Foundation
import Glibc
func sortString(Str: String) -> String {
let newStr = Str.lowercased()
let sortedStr = newStr.sorted()
return String(sortedStr)
}
let enteredString = "Sohan like iceCream"
let resultantString = sortString(Str:enteredString)
print("原始字符串:", enteredString)
print("排序后的字符串:", resultantString)
输出
原始字符串:Sohan like iceCream 排序后的字符串:aacceeehiiklmnors
示例 3
在下面的 Swift 程序中,我们将对字符串进行降序排序。因此,创建一个函数,该函数接受输入字符串作为参数,并返回一个排序后的字符串。在函数内部,我们将使用带有"by:>"参数的 sorted(by:>) 函数对字符串的所有字符进行降序排序。然后,使用 String() 初始化器将结果转换为字符串,并返回结果字符串。
import Foundation
import Glibc
func sortString(Str: String) -> String {
let sortedStr = Str.sorted(by:>)
return String(sortedStr)
}
let enteredString = "machine works fine"
let resultantString = sortString(Str:enteredString)
print("原始字符串:", enteredString)
print("排序后的字符串:", resultantString)
输出
原始字符串:machine works fine 排序后的字符串:wsronnmkiihfeeca
结论
以上就是我们对字符串进行排序的方法。这里的 sorted() 方法仅按升序对字符串进行排序。如果要按升序或降序对字符串进行排序,可以使用 sorted(by:) 函数。在升序排序中,字符的优先级依次为空格、特殊字符、大写字母和小写字母。