impressive17
@impressive17

Как отсортировать срез intов в GO?

Сортирую срез int с помощью пакета sort. Но на выходе получаю неотсортированный массив. В чем ошибка?
package main

import (
	"fmt"
	"sort"
)

func main() {
	var arr = []int{1, 3, 2}
	sort.SliceStable(arr, func(i, j int) bool {
		return i > j
	})
	for _, val := range arr {
		fmt.Println(val)
	}

}

5ded20535fc4b803094672.png
  • Вопрос задан
  • 115 просмотров
Решения вопроса 1
bitniks
@bitniks
Go/PHP/Symfony developer
Сортируете по индексам, а нужно по значению
package main

import (
	"fmt"
	"sort"
)

func main() {
	var arr = []int{1, 3, 2}
	sort.SliceStable(arr, func(i, j int) bool {
		return arr[i] > arr[j]    // здесь поправил
	})
	for _, val := range arr {
		fmt.Println(val)
	}
}

https://play.golang.org/p/49AKa4p7Suf
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы