- Code: Select all
Входные данные: ["apple", "cat", "banana", "go"]
Выходные данные: ["go", "cat", "apple", "banana"]
Board index › Программирование › Задачник
Входные данные: ["apple", "cat", "banana", "go"]
Выходные данные: ["go", "cat", "apple", "banana"]
package main
import (
"fmt"
)
func main() {
// Входные данные
strs := []string{"apple", "cat", "banana", "go"}
// Анонимная функция для сравнения длин строк
less := func(a, b string) bool {
return len([]rune(a)) < len([]rune(b))
}
// Реализация сортировки выбором
n := len(strs)
for i := 0; i < n-1; i++ {
minIdx := i
for j := i + 1; j < n; j++ {
if less(strs[j], strs[minIdx]) {
minIdx = j
}
}
// Обмен элементов, если найден минимальный элемент
if minIdx != i {
strs[i], strs[minIdx] = strs[minIdx], strs[i]
}
}
// Вывод отсортированного слайса
fmt.Println(strs)
}