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+ 閱讀量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.