I created an alias - typealias frequenciesSymbol = (String, Double). I created an array using an alias as the data type frequenciesSymbol. Then I filled this array with elements, and now I need to sort this array by Double elements. How should I do it?
typealias frequenciesSymbol = (String, Double)
// WE THINK THE FREQUENCY OF MEETING EACH SYMBOL
var frequencies2 = [Double](repeating: 0, count: 33)
for c in outputText.unicodeScalars {
switch c {
case "а"..."я":
frequencies2[Int(c.value - UnicodeScalar("а").value)] += 1
default:
break
}
}
// TRANSFER FREQUENCY IN %
for i in 0..<(frequencies2.count) {
frequencies2[i] = (frequencies2[i] * 100) / Double(outputText.count)
}
// CREATE AN ARRAY IN WHICH WE FORM THE FREQUENCY IN ACCORDANCE WITH THE SYMBOLS WITH THE SYMBOLS
var frequenciesOutputText = [frequenciesSymbol]()
// WRITE THE ARRAY OF VALUES OF FREQUENCY ACCORDING TO THE SYMBOL
for i in 0..<(frequencies2.count-1) {
frequenciesOutputText.append((rus[i], Double(frequencies2[i])))
print("\(rus[i]) - \(frequencies2[i])%")
}
//SORT ARRAY BY FREQUENCY VALUES
I want to get something like this
("о", 10.97)% ("е", 8.45)% ("а", 8.01)% ("и", 7.35)% ("н", 6.7)% ("т", 6.26)% ("с", 5.47)% ("р", 4.73)% ("в", 4.54)% ("л", 4.4)% ("к", 3.49)% ("м", 3.21)% ("д", 2.98)% ("п", 2.81)% ("у", 2.62)% ("я", 2.01)% ("ы", 1.9)% ("ь", 1.74)% ("г", 1.7)% ("з", 1.65)% ("б", 1.59)% ("ч", 1.44)% ("й", 1.21)% ("х", 0.97)% ("ж", 0.94)% ("ш", 0.73)% ("ю", 0.64)% ("ц", 0.48)% ("щ", 0.36)% ("э", 0.32)% ("ф", 0.26)% ("ъ", 0.04)%