sort.Slice(s, func(i, j int) bool { return i > j })

You are comparing the indexes and not the values

-Eric
http://www.google.com/profiles/eric.hubbard


On Tue, Dec 6, 2022 at 6:45 PM Andrew Harris <harris...@spu.edu> wrote:

> Subtly:
>      return s[i] > s[j]
>
> Is the right sort func
>
> I think it'd be recommended to look at the generics slices package, which
> also has a sort
> On Tuesday, December 6, 2022 at 6:39:29 PM UTC-8 hey...@gmail.com wrote:
>
>> Hi,
>>
>> I have this very simple sorting code:
>>
>> s := make([]int, 0, 100)
>> for i := 1; i <= 20; i++ {
>>     s = append(s, i)
>> }
>> sort.Slice(s, func(i, j int) bool { return i > j })
>> log.Print(s)
>>
>> I expect it to print numbers in reverse order, since items with larger
>> index numbers should be at the front. However, at lease in go1.19.3, it
>> prints
>>
>> [9 1 8 5 16 3 20 2 10 7 12 13 14 15 6 4 19 18 17 11]
>>
>> I guess I must have misunderstood how the sort package works, but
>> rereading sort's doc multiple time doesn't help answer the question.
>>
>> Could anyone shed some light?
>>
> --
> You received this message because you are subscribed to the Google Groups
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to golang-nuts+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/golang-nuts/47074e6b-b1f2-447e-b7aa-645b9a504913n%40googlegroups.com
> <https://groups.google.com/d/msgid/golang-nuts/47074e6b-b1f2-447e-b7aa-645b9a504913n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/CABOXiu2KiVok-h2qHCLfUZf4Cw_scGBu5JrFm-5P%2BAeTwe1%2BCQ%40mail.gmail.com.

Reply via email to