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 '
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.
“
- “
” 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.