כיצד למיין וקטורים באמצעות פונקציית lexicographical_compare() C++

Kyzd Lmyyn Wqtwrym B Mz Wt Pwnqzyyt Lexicographical Compare C



הפונקציה היא קבוצה של הוראות המבצעות משימה מסוימת. הוא משמש כדי להפוך את הקוד למאורגן, מודולרי וניתן לשימוש חוזר. ב-C++, לפונקציות יש תפקיד חשוב כדי להפוך את הקוד לפשוט. למשל, ה' lexicographical_compare() הפונקציה משמשת להשוואה בין שני רצפים או טווחים מבחינה לקסיקוגרפית.

במדריך המקיף הזה, נדגים את הפונקציה 'lexicographical_compare()' ב-C++ עם התוכנית.

מהי הפונקציה 'lexicographical_compare()' ב-C++

ב-C++, הפונקציה 'lexicograpfical_compare()' היא פעולה יעילה מאוד להשוואה ומיון אלמנטים ברצף (סדר לקסיקוגרפי). הוא מספק את המאפשר לקבוע את הסדר המתאים שהוא תוצאה של השוואת רצפים, כגון טווחים ומיתרים. פונקציה זו נגישה ב-C++ באמצעות ' <אלגוריתם> ' קובץ הכותרת.







תחביר



הנה התחביר של הפונקציה 'lexicographical_compare()' ב-C++:



תבנית < מעמד InputIter1, מעמד InputIter2 >
bool השוואה_לקסיקוגרפית ( InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2 ) ;

על פי הקוד שסופק לעיל, ' lexicographical_compare() ' הפונקציה מקבלת שני זוגות של טווחים ' ראשון1 ' ו' אחרון1 ' איטרטורי קלט עבור הטווח הראשון וה' ראשון2 ' ו' אחרון2 ' איטרטורי קלט עבור הטווח השני. זה תואם את שני מרכיבי הטווח בסדר לקסיקוגרפי.





סוג החזרה: זה מחזיר את הערך הבוליאני (true או false). הוא יחזיר אמת כאשר הטווח הראשון קטן מבחינה לקסיקוגרפית מהטווח השני, אחרת יחזיר false.

חריגים: אם נמצאה שגיאה במהלך ההשוואה היא תגרום לחריגה.



כיצד למיין וקטורים באמצעות פונקציית lexicographical_compare() C++

הפונקציה 'lexicographical_compare()' משמשת לעתים קרובות בטכניקות מיון כדי לגלות את סדר האלמנט. זה תואם את הסדר המתאים של האלמנטים עד לסיום הטווח.

דוגמה לפונקציה lexicograpical_compare() מיון והשווה את וקטורי המחרוזת

בואו נבדוק את הדוגמה המצורפת שמדגימה את ' סוג() שיטת ' עם ' lexicographical_compare() ”:

#include
#include
#include <אלגוריתם>
באמצעות מרחב שמות סטד ;

כאן:

  • ' ' משמש עבור פעולות הקלט והפלט.

' <וקטור> ” הוא מחלקה סטנדרטית של ספרייה C++ ומשמשת לאחסון תבניות המציעות יכולות מערך דינמי.

  • ' <אלגוריתם> ' קובץ הכותרת משמש לגישה לשיטת 'sort()' עבור הפונקציה 'lexicographical_compare()'.
  • ' באמצעות מרחב שמות std ' מכונה הנחיה המשתמשת בכל השמות ממרחב השמות מבלי להזכיר במפורש את הקידומת 'std'.

לאחר מכן, בתוך ' רָאשִׁי() ' פונקציה, אתחלנו שני וקטורים ' וקט1 ' ו' וקט2 ' עם אותו מיתר. לאחר מכן, השתמש ב' סוג() שיטה למיון האלמנטים בסדר לקסיקוגרפי של שני הוקטורים עם ' vect1.begin() ' ו' vector1.end() ' טווח האיטרטורים עבור 'vect1', ו- ' vect2.begin() ' ו' vect2.end() ' טווח עבור 'vect2'. לאחר מכן, הזמין את ' lexicographical_compare() ' פונקציה שלוקחת ארבעה ארגומנטים עבור שני הוקטורים.

התוצאות יישמרו עם ' bool ' הקלד את ' תוֹצָאָה ' משתנה ומחזירה true אם טווח 'vect1' קטן מבחינה לקסיקוגרפית מטווח 'vect2', ו-false אחרת. לבסוף, החל את ' אם ' הצהרה כדי להציג את התוצאות. אם ה' תוֹצָאָה ' נכון זה אומר שה-'vect1' הוא מבחינה לקסיקוגרפית ' > ' מאשר 'vect2'. אחרת, התנאי האחר יתבצע:

int רָאשִׁי ( ) {
וֶקטוֹר < חוּט > וקט1 = { 'אביב' , 'קַיִץ' , 'סתָיו' , 'חוֹרֶף' } ;
וֶקטוֹר < חוּט > וקט2 = { 'אביב' , 'קַיִץ' } ;

סוג ( וקט1. התחל ( ) , וקט1. סוֹף ( ) ) ;
סוג ( וקט2. התחל ( ) , וקט2. סוֹף ( ) ) ;
// השווה את שני הוקטורים באמצעות lexicographical_compare()
bool תוֹצָאָה = השוואה_לקסיקוגרפית (
וקט1. התחל ( ) , וקט1. סוֹף ( ) ,
וקט2. התחל ( ) , וקט2. סוֹף ( )
) ;

אם ( תוֹצָאָה ) {
cout << 'vect1 גדול מבחינה לקסיקוגרפית מ-vect2' << endl ;
} אַחֵר אם ( השוואה_לקסיקוגרפית (
וקט2. התחל ( ) , וקט2. סוֹף ( ) ,
וקט1. התחל ( ) , וקט1. סוֹף ( )
) ) {
cout << 'vect1 קטן מבחינה לקסיקוגרפית מ-vect2' << endl ;
} אַחֵר {
cout << 'vect1 שווה מבחינה לקסיקוגרפית ל-vect2' << endl ;
}
לַחֲזוֹר 0 ;
}

תְפוּקָה

זה הכל! למדת על ' lexicographical_compare() ' פונקציה ב-C++.

סיכום

ב-C++, הפונקציה 'lexicographical_compare()' משמשת כדי למיין ולהתאים את רצף האלמנטים בסדר מילוני. אלגוריתם המיון בשיטת 'lexicograpgical_compare()' מיושם באופן נרחב כדי למצוא את הסדר היחסי. במדריך זה, הדגמנו את הפונקציה 'lexicographical_compare()' ב-C++.