Swift 语言字符串排序程序


在 Swift 中,字符串排序指的是按照指定顺序(升序或降序)排列字符串中的字符。例如:

Input: String = "color of the bird is pink"
Output:"      bcdefhiiiklnoooprrst"

这里,结果字符串按升序排序。

因此,为了排序字符串,Swift 提供了一个内置函数名为 sorted()。此函数返回一个排序后的字符串,其中字符串的字符存储为升序或降序。此函数可以用两种类型定义:带参数和不带参数。

请注意,sorted() 函数不会删除空格字符,它会将所有空格字符放在结果字符串的开头。

语法 1

func sorted()
or 
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("Original String:", enteredString)
print("Sorted String:", resultantString)

输出

Original String: ronita sing song
Sorted String:   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("Original String:", enteredString)
print("Sorted String:", resultantString)

输出

Original String: Sohan like iceCream
Sorted String:   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("Original String:", enteredString)
print("Sorted String:", resultantString)

输出

Original String: machine works fine
Sorted String: wsronnmkiihfeeca  

结论

这就是我们如何对字符串进行排序。这里的 sorted() 方法仅按升序对字符串进行排序。如果要按升序或降序对字符串进行排序,则可以使用 sorted(by:) 函数。在升序排序中,字符的优先级是空格字符、特殊字符、大写字母,然后是小写字母。

更新于: 2023年6月16日

1K+ 阅读量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告