dotnetomaniak.pl - Artykuły z tagiem sortowaniedotnetomaniak.pl - Artykuły z tagiem sortowanie2024-03-28T18:19:34Zhttps://dotnetomaniak.pl/Tags/sortowanieCopyright (c) dotnetomaniak.pldotnetomaniak.pl Atom Generatordotnetomaniak.pl webmasteradmin@dotnetomaniak.plhttps://dotnetomaniak.pl/Assets/Images/fav.icohttps://dotnetomaniak.pl/Assets/Images/dotnetomaniak_logo-negatyw_small.png7025https://dotnetomaniak.pl/Piotr-Zielinski-ArraySort-a-stabilnosc-sortowaniaPiotr Zieliński » Array.Sort a stabilność sortowania2013-02-12T21:19:12Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_Gc1I4CMAME6z6FPMNGFiuQ.png"/></div><div>Funkcja Array.Sort sortuje tablicę elementów. Niestety algorytm jest niestabilny co nie zawsze jest dobrym rozwiązaniem. Rozważmy poniższy kod:publicclass Person
{
publicint Age { get; set; }
publicstring Name { get; set; }
}
internalclass Program
{
publicstaticvoid Main()
{
var persons =new[] {
new Person { Age =1, Name ="a" },
new Person { Age =2, Name ="b" },
new Person { Age =3, Name ="c" },
new Person { Age =2, Name ="e" },
new Person { Age =1,...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Piotr-Zielinski-ArraySort-a-stabilnosc-sortowania"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fwww.pzielinski.com%2f%3fp%3d1475" style="border:0px"/></a></div></div>pzielinskihttps://dotnetomaniak.pl/Users/uL1CEj4isEuRvajW8gS3pQ2013-02-20T06:06:22Zhttps://dotnetomaniak.pl/Piotr-Zielinski-ArraySort-a-stabilnosc-sortowania11350Funkcja Array.Sort sortuje tablicę elementów. Niestety algorytm jest niestabilny co nie zawsze jest dobrym rozwiązaniem. Rozważmy poniższy kod:publicclass Person
{
publicint Age { get; set; }
publicstring Name { get; set; }
}
internalclass Program
{
publicstaticvoid Main()
{
var persons =new[] {
new Person { Age =1, Name ="a" },
new Person { Age =2, Name ="b" },
new Person { Age =3, Name ="c" },
new Person { Age =2, Name ="e" },
new Person { Age =1,...http://www.pzielinski.com/?p=1475http://dotnetomaniak.pl/Data/Thumbnails/small_Gc1I4CMAME6z6FPMNGFiuQ.pnghttps://dotnetomaniak.pl/C-na-blache-Sortowanie-wlasnych-obiektow-po-dowolnych-polachC# na blache: Sortowanie własnych obiektów po dowolnych polach2012-06-30T08:10:01Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_E_ctjN1Vgkqx5TelvMc5tQ.png"/></div><div>Czas na małe szaleństwo z interfejsami, łączeniem konstruktorów, przesłanianiem metod i metodami rozszerzającymi!
Wyobraźmy sobie, że mamy tablicę własnych obiektów np samochodów. Chcemy posortować te samochody raz po identyfikatorze, raz po prędkości maksymalnej, a jeszcze innym razem według koloru.
Jest to bardzo proste dzięki zastosowaniu interfejsu IComparer (zdefiniowany w System.Collections). Przy okazji skorzystamy z pozostałych wcześniej wymienionych technik.
Należy pamiętać że stosowan...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/C-na-blache-Sortowanie-wlasnych-obiektow-po-dowolnych-polach"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fcsharpnablache.blogspot.com%2f2012%2f04%2fsortowanie-wasnych-obiektow-po.html" style="border:0px"/></a></div></div>sikor02https://dotnetomaniak.pl/Users/kaxXfYp92kafHtEpeJCOJg2012-07-09T11:33:00Zhttps://dotnetomaniak.pl/C-na-blache-Sortowanie-wlasnych-obiektow-po-dowolnych-polach21990Czas na małe szaleństwo z interfejsami, łączeniem konstruktorów, przesłanianiem metod i metodami rozszerzającymi!
Wyobraźmy sobie, że mamy tablicę własnych obiektów np samochodów. Chcemy posortować te samochody raz po identyfikatorze, raz po prędkości maksymalnej, a jeszcze innym razem według koloru.
Jest to bardzo proste dzięki zastosowaniu interfejsu IComparer (zdefiniowany w System.Collections). Przy okazji skorzystamy z pozostałych wcześniej wymienionych technik.
Należy pamiętać że stosowan...http://csharpnablache.blogspot.com/2012/04/sortowanie-wasnych-obiektow-po.htmlhttp://dotnetomaniak.pl/Data/Thumbnails/small_E_ctjN1Vgkqx5TelvMc5tQ.pnghttps://dotnetomaniak.pl/C-na-blache-LINQ-vs-IComparable-czas-sortowania-performanceC# na blache: LINQ vs IComparable czas sortowania / performance2012-06-30T08:07:01Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_626RPxBiEEOlLdJ5IkDQVA.png"/></div><div>Zrobiłem mały test.
Chciałem sprawdzić co jest wydajniejsze, LINQ czy użycie IComparera.
Odpowiedź: "to zależy?"
Na początek zrobiłem małą klasę obiektu do testowania, która wyglądała tak:
Następnie w głównej pętli programu napisałem następujący kod:
static void Main(string[] args)
{
string name = "Mr. Tomek";
Random r = new Random();
int size = 50;
Stopwatch stopWatch = new Stopwatch();
while (size < repeats;="" ++a)="" {="" person[]="" people1="new" person[size];="...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/C-na-blache-LINQ-vs-IComparable-czas-sortowania-performance"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fcsharpnablache.blogspot.com%2f2012%2f04%2flinq-vs-icomparable-czas-sortowania.html" style="border:0px"/></a></div></div>sikor02https://dotnetomaniak.pl/Users/kaxXfYp92kafHtEpeJCOJg2012-07-09T11:33:00Zhttps://dotnetomaniak.pl/C-na-blache-LINQ-vs-IComparable-czas-sortowania-performance11310Zrobiłem mały test.
Chciałem sprawdzić co jest wydajniejsze, LINQ czy użycie IComparera.
Odpowiedź: "to zależy?"
Na początek zrobiłem małą klasę obiektu do testowania, która wyglądała tak:
Następnie w głównej pętli programu napisałem następujący kod:
static void Main(string[] args)
{
string name = "Mr. Tomek";
Random r = new Random();
int size = 50;
Stopwatch stopWatch = new Stopwatch();
while (size < repeats;="" ++a)="" {="" person[]="" people1="new" person[size];="...http://csharpnablache.blogspot.com/2012/04/linq-vs-icomparable-czas-sortowania.htmlhttp://dotnetomaniak.pl/Data/Thumbnails/small_626RPxBiEEOlLdJ5IkDQVA.pnghttps://dotnetomaniak.pl/Lukasz-Kurzyniec-Sortowanie-kolumny-VARCHAR2500Łukasz Kurzyniec - Sortowanie kolumny VARCHAR(2500)2012-03-30T22:22:58Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_HWXNpp9YQEG0mMr3alnkyA.png"/></div><div>Załóżmy, że mamy tabelę z kolumną typu VARCHAR(2500), a w niej sporo wierszy. Wynik zapytania z tej
tabeli chcielibyśmy posortować według wspomnianej kolumny. Oczywiście będzie to bardzo czasochłonne,
a tym samym słabo wydajne. Jak sobie z tym poradzić?</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Lukasz-Kurzyniec-Sortowanie-kolumny-VARCHAR2500"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fkurzyniec.pl%2fartykuly%2fsort-varchar" style="border:0px"/></a></div></div>lkurzyniechttps://dotnetomaniak.pl/Users/c69iSm6JA0W0YdfPXo3VUg2012-04-09T21:23:10Zhttps://dotnetomaniak.pl/Lukasz-Kurzyniec-Sortowanie-kolumny-VARCHAR250011800Załóżmy, że mamy tabelę z kolumną typu VARCHAR(2500), a w niej sporo wierszy. Wynik zapytania z tej
tabeli chcielibyśmy posortować według wspomnianej kolumny. Oczywiście będzie to bardzo czasochłonne,
a tym samym słabo wydajne. Jak sobie z tym poradzić?http://kurzyniec.pl/artykuly/sort-varcharhttp://dotnetomaniak.pl/Data/Thumbnails/small_HWXNpp9YQEG0mMr3alnkyA.pnghttps://dotnetomaniak.pl/LINQ-nie-takie-straszneLINQ nie takie straszne2011-02-02T06:25:38Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_3sWYVM7uC0uMHF9ie57JVg.png"/></div><div>Coraz częściej w projektach zaczynam używać LINQ i zaczynam dostrzegać zalety. Nie dość, że można w ten sposób trochę pisania kodu oraz zyskać na przejrzystości. Poniżej zamieszczę parę przykładów, w których pomału przerzucam się na LINQ.</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/LINQ-nie-takie-straszne"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fwww.jankowskimichal.pl%2f2011%2f01%2flinq-nie-takie-straszne%2f" style="border:0px"/></a></div></div>Michal Jankowskihttps://dotnetomaniak.pl/Users/eXhIWvt1L0-xyewDDTd6aA2011-02-11T16:49:15Zhttps://dotnetomaniak.pl/LINQ-nie-takie-straszne23180Coraz częściej w projektach zaczynam używać LINQ i zaczynam dostrzegać zalety. Nie dość, że można w ten sposób trochę pisania kodu oraz zyskać na przejrzystości. Poniżej zamieszczę parę przykładów, w których pomału przerzucam się na LINQ.http://www.jankowskimichal.pl/2011/01/linq-nie-takie-straszne/http://dotnetomaniak.pl/Data/Thumbnails/small_3sWYVM7uC0uMHF9ie57JVg.pnghttps://dotnetomaniak.pl/Jakub-Gutkowski-Co-jest-wydajniejsze-LINQOrderByToArray-czy-ICollCopyTo-a-nast%C4%99pnie-ArraySortJakub Gutkowski - Co jest wydajniejsze, LINQ.OrderBy.ToArray czy IColl.CopyTo a następnie Array.Sort?2010-10-28T12:27:23Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_IsJhf50rO0iT082pcNaj_A.png"/></div><div>Od czasu do czasu mam w zwyczaju przeglądać cały swój kod i w razie potrzeby robić jego refaktoryzację, tak też się stało tydzień temu kiedy stwierdziłem, że zamiast dopisywać nową funkcjonalność do projektu Silverlight, doprowadzę do porządku to co już stworzyłem.
Podczas przeglądania kodu, natrafiłem na taką o to extension method</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Jakub-Gutkowski-Co-jest-wydajniejsze-LINQOrderByToArray-czy-ICollCopyTo-a-nast%C4%99pnie-ArraySort"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fblog.gutek.pl%2fpost%2f2010%2f10%2f28%2fSortowac-samemu-czy-wykorzystac-LINQ-To-zalezy.aspx" style="border:0px"/></a></div></div>Paweł Łukasikhttps://dotnetomaniak.pl/Users/lI7X-wDfeE2RoUfuiihoOg2010-11-07T09:55:31Zhttps://dotnetomaniak.pl/Jakub-Gutkowski-Co-jest-wydajniejsze-LINQOrderByToArray-czy-ICollCopyTo-a-nast%C4%99pnie-ArraySort51110Od czasu do czasu mam w zwyczaju przeglądać cały swój kod i w razie potrzeby robić jego refaktoryzację, tak też się stało tydzień temu kiedy stwierdziłem, że zamiast dopisywać nową funkcjonalność do projektu Silverlight, doprowadzę do porządku to co już stworzyłem.
Podczas przeglądania kodu, natrafiłem na taką o to extension methodhttp://blog.gutek.pl/post/2010/10/28/Sortowac-samemu-czy-wykorzystac-LINQ-To-zalezy.aspxhttp://dotnetomaniak.pl/Data/Thumbnails/small_IsJhf50rO0iT082pcNaj_A.pnghttps://dotnetomaniak.pl/ListView-templates-cz-II-sortowanie-i-stronicowanie-braindamageListView - templates, cz. II - sortowanie i stronicowanie | .braindamage2009-08-19T18:03:45Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_QYJwalfdIk-5ok0sG8ps3Q.png"/></div><div>Dzisiaj kontynuacja zmagań z asp’ową kontrolką ListView. Jak głosi tytuł wpisu, będzie on traktował o podziale danych na strony oraz o sortowaniu. Stronicowanie
Zacznę więc od dzielenia wierszy na strone, co okazało się proste i przyjemne. ASP.NET daje nam do dyspozycji kontrolkę DataPager która właściwie w całości zajmuje się problemem stronicowania. Wystarczy, że w DataPagerze ustawimy odpowiedni PagedControlID(gdy wstawimy ją wewnątrz LayoutTemplate’a, odpowiednie ID zostanie przydzielone automatycznie)...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/ListView-templates-cz-II-sortowanie-i-stronicowanie-braindamage"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fwww.bdamage.pl%2faspnet%2flistview-templates-cz-ii-sortowanie-i-stronicowanie%2f" style="border:0px"/></a></div></div>Paweł Łukasikhttps://dotnetomaniak.pl/Users/lI7X-wDfeE2RoUfuiihoOg2009-08-28T13:46:23Zhttps://dotnetomaniak.pl/ListView-templates-cz-II-sortowanie-i-stronicowanie-braindamage31190Dzisiaj kontynuacja zmagań z asp’ową kontrolką ListView. Jak głosi tytuł wpisu, będzie on traktował o podziale danych na strony oraz o sortowaniu. Stronicowanie
Zacznę więc od dzielenia wierszy na strone, co okazało się proste i przyjemne. ASP.NET daje nam do dyspozycji kontrolkę DataPager która właściwie w całości zajmuje się problemem stronicowania. Wystarczy, że w DataPagerze ustawimy odpowiedni PagedControlID(gdy wstawimy ją wewnątrz LayoutTemplate’a, odpowiednie ID zostanie przydzielone automatycznie)...http://www.bdamage.pl/aspnet/listview-templates-cz-ii-sortowanie-i-stronicowanie/http://dotnetomaniak.pl/Data/Thumbnails/small_QYJwalfdIk-5ok0sG8ps3Q.png