Сортировка списка строк по длине

  • Автор темы Автор темы mexan
  • Дата начала Дата начала
Сообщения
202
Реакции
0
Напишите программу, которая отсортирует эти строки по длине с использованием анонимной функции.

Код:
Входные данные: ["apple", "cat", "banana", "go"]
Выходные данные: ["go", "cat", "apple", "banana"]
 
Решение на Go:
Код:
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)
}
 
Назад
Сверху