List.Sort() -menetelmä käytetään lajittelemaan luettelon elementit tai osa elementeistä käyttämällä joko määritettyä tai oletusarvoista IComparer-toteutusta tai annettua vertailuvaltuutettua luetteloelementtien vertailuun. Tämän menetelmän ylikuormitusluettelossa on yhteensä 4 menetelmää seuraavasti:
- Lajittele (ICertailija)
- Lajittele (Int32, Int32, IComparer)
- Järjestellä()
- Lajittele (vertailu)
Tässä käsittelemme kahta ensimmäistä menetelmää.
Lajittelu (ICertailija) -menetelmä
Tätä menetelmää käytetään koko listan elementtien lajitteluun määritetyn vertailijan avulla.
Syntaksi:
public void Sort (System.Collections.Generic.IComparer comparer);
Tässä vertaaja on IComparer-toteutus, jota käytetään elementtien vertailussa, tai null, jos haluat käyttää oletusvertailijaa Oletus.
Poikkeukset:
InvalidOperationException: Jos vertailija on tyhjä ja oletusvertailija Oletus ei löydä IComparable-yleisen rajapinnan tai IComparable-liitännän toteutusta tyypille T. ArgumentException: Jos vertailijan toteutus aiheutti virheen lajittelun aikana. Esimerkiksi vertailija ei välttämättä palauta 0:aa vertaillessaan tuotetta itseensä.
Esimerkki 1:
// C# program to demonstrate the concept of> // List.Sort(IComparer ) method> using> System;> using> System.Collections.Generic;> > class> GFG : IComparer <> int> >>> List <> int> >>> );> > > foreach> (> int> g> in> list1)> > {> > > // Display Original List> > Console.WriteLine(g);> > > }> > > // 'gg' is the object oif class GFG> > GFG gg => new> GFG();> > > Console.WriteLine(> '
Sort with a comparer:'> );> > > // use of List.Sort(IComparer)> > // method. The comparer is 'gg'> > list1.Sort(gg);> > > foreach> (> int> g> in> list1 )> > {> > > // Display sorted list> > Console.WriteLine(g);> > > }> > }> }> |
Lähtö:
Original List 1 5 6 2 4 3 Sort with a comparer: 1 2 3 4 5 6
Esimerkki 2:
// C# program to demonstrate the concept of> // List.Sort(IComparer ) method> using> System;> using> System.Collections.Generic;> > class> GFG : IComparer <> string> >>> > return> x.CompareTo(y);> > > }> }> > public> class> geek> {> > > // Main Method> > public> static> void> Main()> > {> > List <> string> >lista1 =>> > // list elements> > list1.Add(> 'A'> );> > list1.Add(> 'I'> );> > list1.Add(> 'G'> );> > list1.Add(> 'B'> );> > list1.Add(> 'E'> );> > list1.Add(> 'H'> );> > list1.Add(> 'F'> );> > list1.Add(> 'C'> );> > list1.Add(> 'J'> );> > > Console.WriteLine(> 'Original List'> );> > > // Display Original List> > Display(list1);> > > // 'gg' is the object> > GFG gg => new> GFG();> > > Console.WriteLine(> '
Sort with a comparer:'> );> > > // sort the list with a> > // specified comparer 'gg'> > list1.Sort(gg);> > > // Display sorted List> > Display(list1);> > > Console.WriteLine(> '
BinarySearch and Insert D'> );> > > // Binary Search for 'D'> > // using List.BinarySearch(T) method> > int> index = list1.BinarySearch(> 'D'> );> > > if> (index <0)> > {> > > // range++;> > list1.Insert(~index,> 'D'> );> > > }> > > // Display the List after> > // inserting 'D'> > Display(list1);> > > }> > > // Display function> > public> static> void> Display(List <> string> >luettelo)>> Lähtö: Original List A I G B E H F C J Sort with a comparer: A B C E F G H I J BinarySearch and Insert D A B C D E F G H I J List.Sort(Int32, Int32, IComparer) -menetelmä Tätä menetelmää käytetään lajittelemaan elementit List-elementtien alueella määritetyn vertailijan avulla. Syntaksi: public void Sort(int index, int len, IComparer comparer) Parametrit: indeksi : Se on sen alueen nollapohjainen aloitusindeksi, jolla lajittelu tapahtuu. vain : Se on alueen pituus. vertailla : Kun vertaat elementtejä, käytä IVertailija toteutus tai null käyttääksesi oletusvertailijaa Oletus. Poikkeukset: ArgumentOutOfRangeException: Jos indeksi tai vain on pienempi kuin 0. ArgumenttiPoikkeus: Jos indeksi ja count eivät määritä kelvollista aluetta Lista . InvalidOperationException : Jos vertailla on tyhjä. Esimerkki: // C# program to demonstrate the use of> // List.Sort(Int32, Int32, IComparer)> // Method> using> System;> using> System.Collections.Generic;> > class> GFG : IComparer <> string> >>> > return> x.CompareTo(y);> > > }> }> > public> class> geek> {> > public> static> void> Main()> > {> > List <> string> >lista1 =>> > // list elements> > list1.Add(> 'C++'> );> > list1.Add(> 'Java'> );> > list1.Add(> 'C'> );> > list1.Add(> 'Python'> );> > list1.Add(> 'HTML'> );> > list1.Add(> 'CSS'> );> > list1.Add(> 'Scala'> );> > list1.Add(> 'Ruby'> );> > list1.Add(> 'Perl'> );> > > int> range = 4;> > Console.WriteLine(> 'Original List'> );> > > // Display Original List> > Display(list1);> > > // 'gg' is the object> > GFG gg => new> GFG();> > > Console.WriteLine(> '
Sort a range with comparer:'> );> > > // sort the list within a> > // range of index 1 to 4> > // where range = 4> > list1.Sort(1, range, gg);> > > // Display sorted List> > Display(list1);> > > Console.WriteLine(> '
BinarySearch and Insert Dart'> );> > > // Binary Search and storing> > // index value to 'index'> > int> index = list1.BinarySearch(0, range,> > 'Dart'> , gg);> > > if> (index <0)> > {> > list1.Insert(~index,> 'Dart'> );> > range++;> > }> > > // Display the List> > // after inserting 'Dart'> > Display(list1);> > > }> > > // Display function> > public> static> void> Display(List <> string> >luettelo)>> Lähtö: Original List C++ Java C Python HTML CSS Scala Ruby Perl Sort a range with comparer: C++ C HTML Java Python CSS Scala Ruby Perl BinarySearch and Insert Dart C++ C Dart HTML Java Python CSS Scala Ruby Perl Viite:
Top Artikkelit
Luokka
Mielenkiintoisia Artikkeleita
| |