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.
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
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.
http://www.algorytm.org/algorytmy-sortowania/
zrob z tego generica i bedziesz miec pod kazdy typ
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.
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.
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#L269Jak 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?
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