Prośba o znalezienie w dokumentacji ms pełnego algorytmu metody sort

0

Wpisuje do references array.sort, ale znajduje mi tylko sposoby wywołania tej metody. A konkretnie, to chodzi o to, że mam zapisane różne algorytmy sortowania tablic, ale typu int. A ja próbuje wykorzystać te algorytmy do sortowania stringów w tablicy tzn. żeby mi je sortowało alfabetycznie. Pomyślałem sobie więc, że mógłbym podejrzeć algorytm metody sort na references, ale nie mogę znaleźć samego algorytmu.

1

zle to robisz. nie rob kola od nowa. Wykorzystuj to co jest

http://www.dotnetperls.com/sort
prosze. Wystarczy ze skorzystasz z Array.Sort(a) gdzie a jest tablica stringow i juz masz posortowane alfabetycznie

0
fasadin napisał(a):

zle to robisz. nie rob kola od nowa. Wykorzystuj to co jest

http://www.dotnetperls.com/sort
prosze. Wystarczy ze skorzystasz z Array.Sort(a) gdzie a jest tablica stringow i juz masz posortowane alfabetycznie

Ale zrozum, ja muszę użyć algorytmów z wykładu, a kłopot w tym, że te algorytmy dotyczą tylko int[] a nie string[].

Żeby jednak nie prosić nikogo bezczelnie o gotową odpowiedź, to zapytałem tu o link do treści sorta.Sobie bym zajrzał, przeanalizował, porównał z tymi algorytmami, które mam i już. Przy okazji dowiedziałem się, że istnieje coś takiego jak StringComparer, ale to mi tylko dodatkowo komplikuje.

Po prostu nie wolno mi użyć frameworkowej metody sort.

1

http://www.algorytm.org/algorytmy-sortowania/

zrob z tego generica i bedziesz miec pod kazdy typ

3
finito napisał(a):

Żeby jednak nie prosić nikogo bezczelnie o gotową odpowiedź, to zapytałem tu o link do treści sorta.Sobie bym zajrzał, przeanalizował, porównał z tymi algorytmami, które mam i już.

Framework używa quicksorta, w nowszych wersjach introsorta.

2

Ale to kurde też bez sensu, bo niby skąd mam wiedzieć który algorytm sortowania wykorzystuje array.sort?

http://referencesource.microsoft.com/#mscorlib/system/array.cs,54496ee33e3b155a
https://github.com/dotnet/coreclr/blob/master/src/classlibnative/bcltype/arrayhelpers.cpp#L269

Jak widać obecnie jest to introspective sort, ale w przeszłości były to inne algorytmy.

0
Rev napisał(a):

Ale to kurde też bez sensu, bo niby skąd mam wiedzieć który algorytm sortowania wykorzystuje array.sort?

http://referencesource.microsoft.com/#mscorlib/system/array.cs,54496ee33e3b155a
https://github.com/dotnet/coreclr/blob/master/src/classlibnative/bcltype/arrayhelpers.cpp#L269

Jak widać obecnie jest to introspective sort, ale w przeszłości były to inne algorytmy.

Jednego nie kumam. Przejrzałem reference i wszędzie są same przeciążenia wywołania metody sort. A gdzie jest implementacja samego sort?

0

Jak jest defaultowy comparer to implementacja jest w pliku .cpp, który już podlinkowałem, a w przeciwnym wypadku tutaj: http://referencesource.microsoft.com/#mscorlib/system/array.cs,1981

1 użytkowników online, w tym zalogowanych: 0, gości: 1