lexicographical_compare() C++ İşlevini Kullanarak Vektörleri Sıralama

Lexicographical Compare C Islevini Kullanarak Vektorleri Siralama



İşlev, belirli bir görevi gerçekleştiren bir dizi talimattır. Kodu organize, modüler ve yeniden kullanılabilir hale getirmek için kullanılır. C++'da işlevler, kodu basitleştirmek için önemli bir rol oynar. Örneğin, “ sözlükbilimsel_karşılaştırma() ” işlevi, iki diziyi veya aralığı sözlüksel olarak karşılaştırmak için kullanılır.

Bu kapsamlı kılavuzda, programla birlikte C++'daki “lexicographical_compare()” işlevini göstereceğiz.

C++'daki 'lexicographical_compare()' İşlevi nedir?

C++'da, 'lexicographapfical_compare()' işlevi, öğeleri bir dizide (sözlük sırasına göre) karşılaştırmak ve sıralamak için çok etkili bir işlemdir. Aralıklar ve dizeler gibi dizilerin karşılaştırılmasının sonucu olan ilgili sırayı belirleme olanağı sağlar. Bu işleve C++'da ' ' başlık dosyası.







Sözdizimi



C++'da 'lexicographical_compare()' işlevinin sözdizimi şöyledir:



şablon < sınıf GirdiIter1, sınıf GirdiSayfası2 >
bool sözlükbilimsel_karşılaştırma ( Önce GirişIter11, GirişIter1 son1, GirişIter2 ilk2, GirişIter2 son2 ) ;

Yukarıda verilen koda göre, “ sözlükbilimsel_karşılaştırma() ” işlevi iki çift aralığı kabul eder: “ ilk1 ' Ve ' son1 ' ilk aralık için giriş yineleyicileri ve ' ilk2 ' Ve ' son2 ” saniye aralığı için yineleyicileri girin. Her iki aralık öğesini de sözlük sırasına göre eşleştirir.





Dönüş Türü: Boole değerini döndürür (doğru veya yanlış). İlk aralık sözlüksel olarak ikinci aralıktan daha küçük olduğunda true değerini döndürür, aksi takdirde false değerini döndürür.

İstisnalar: Karşılaştırma sırasında bulunan bir hata varsa, bir istisna atar.



lexicographical_compare() C++ İşlevini Kullanarak Vektörleri Sıralama

'lexicographical_compare()' işlevi, öğenin sırasını bulmak için sıralama tekniklerinde sıklıkla kullanılır. Aralık bitene kadar öğelerin ilgili sırasını eşleştirir.

lexicograpical_compare() İşlev Örneği Dize Vektörlerini Sıralayın ve Karşılaştırın

Gösteren sağlanan örneği kontrol edelim ' düzenlemek() ” yöntemi ile “ sözlükbilimsel_karşılaştırma() ”:

#include
#include
#include
kullanarak ad alanı std ;

Burada:

  • ” giriş ve çıkış işlemleri için kullanılır.

”, bir C++ standart kitaplık kapsayıcısı sınıfıdır ve dinamik dizi yetenekleri sunan şablonları tutmak için kullanılır.

  • ” başlık dosyası, “lexicographical_compare()” işlevi için “sort()” yöntemine erişmek için kullanılır.
  • ad alanı std'sini kullanma ”, “std” ön ekinden açıkça bahsetmeden ad alanındaki tüm adları kullanan bir yönerge olarak adlandırılır.

Sonra, “ içinde ana() ” fonksiyon, iki vektörü başlattık” vektör1 ' Ve ' vektör2 ” aynı dizeyle. Bundan sonra kullanılan “ düzenlemek() ” ile her iki vektörün öğelerini sözlük sırasına göre sıralama yöntemi vect1.begin() ' Ve ' vektör1.end() ” yineleyiciler “vect1” ve “ vect2.begin() ' Ve ' vect2.end() “vect2” için ” aralığı. Ardından, “ sözlükbilimsel_karşılaştırma() ” her iki vektör için de dört bağımsız değişken alan işlev.

Sonuçlar “ ile kaydedilecek bool ” yazın “ sonuç ” değişkeni ve “vect1” aralığı sözlüksel olarak “vect2” aralığından küçükse true, aksi takdirde false döndürür. Son olarak, “ eğer Sonuçları görüntülemek için ” ifadesi. Eğer ' sonuç ' doğruysa, 'vect1' sözlüksel olarak ' > ” yerine “vect2”. Aksi takdirde, else koşulu yürütülür:

int ana ( ) {
vektör < sicim > vektör1 = { 'Bahar' , 'Yaz' , 'Sonbahar' , 'Kış' } ;
vektör < sicim > vektör2 = { 'Bahar' , 'Yaz' } ;

düzenlemek ( vektör1. başlamak ( ) , vektör1. son ( ) ) ;
düzenlemek ( vektör2. başlamak ( ) , vektör2. son ( ) ) ;
// lexicographical_compare() kullanarak her iki vektörü karşılaştırın
bool sonuç = sözlükbilimsel_karşılaştırma (
vektör1. başlamak ( ) , vektör1. son ( ) ,
vektör2. başlamak ( ) , vektör2. son ( )
) ;

eğer ( sonuç ) {
cout << 'vect1 sözlüksel olarak vect2'den daha büyük' << son ;
} başka eğer ( sözlükbilimsel_karşılaştırma (
vektör2. başlamak ( ) , vektör2. son ( ) ,
vektör1. başlamak ( ) , vektör1. son ( )
) ) {
cout << 'vect1, sözlüksel olarak vect2'den daha küçüktür' << son ;
} başka {
cout << 'vect1 sözlüksel olarak vect2'ye eşittir' << son ;
}
geri dönmek 0 ;
}

Çıktı

Bu kadar! “ hakkında bilgi sahibi oldunuz. sözlükbilimsel_karşılaştırma() ” işlevi C++'da.

Çözüm

C++'da, 'lexicographical_compare()' işlevi, öğelerin sırasını sözcük sırasına göre sıralamak ve eşleştirmek için kullanılır. Göreceli sırayı bulmak için 'lexicograpgical_compare()' yöntemiyle sıralama algoritması yaygın olarak uygulanır. Bu öğreticide, C++'da 'lexicographical_compare()' işlevini gösterdik.