Ц++ пружа могућност приказивања вектора парова и сортирања вектора парова. Постоји контејнер у Ц++-у који садржи две вредности које су мапиране једна на другу која се зове „пар“ и „вектор парова“ који је вектор који има много ових парова у себи. Сортирање значи сређивање података у растућем или опадајућем редоследу према захтевима. Овде ћемо научити како да сортирамо вектор парова у Ц++ програмирању. Вектор парова можемо сортирати и по „узлазном“ и „опадајућем“ редоследу у Ц++. Вектор парова можемо лако сортирати коришћењем методе „сорт()“. Хајде да урадимо неке кодове овде да сортирамо вектор парова.
Пример 1:
Започнимо код тако што ћемо овде укључити датотеку заглавља која је „битс/стдц++.х“. Након што имамо ову датотеку заглавља, не морамо да укључујемо више датотека заглавља јер садржи све потребне библиотеке. Затим додајемо „стд“ именски простор и позивамо функцију „маин()“.
Сада декларишемо „вектор парова“ под називом „ми_вецт“ и стављамо тип података „инт“ тако да подаци које уносимо у ове парове буду „цеобројни“ тип података. Испод овога иницијализујемо два низа са именима „ми_арр1[]” и „ми_арр2[]”. Овде иницијализујемо прву и другу вредност пара са овим вредностима низа. Затим користимо петљу „фор“ да унесемо ове вредности у вектор парова. Овде користимо функцију „пусх_бацк()“ која помаже у уметању вредности на крају вектора. Унутар ове функције постављамо опцију „маке_паир“ која се користи за конструисање објекта пара од две вредности „ми_арр1“ и „ми_арр2“.
Након тога, штампамо вектор парова тако што поново користимо петљу „фор“. Овде се додају „прва“ и „друга“ кључна реч да би се добила прва и друга вредност вектора парова. Ово штампа вектор парова без сортирања овде. Сада користимо функцију „сорт()“ да сортирамо вектор парова. Овде се користе функције „бегин()“ и „енд()“ као прослеђени почетак и крај вектора парова овој функцији „сорт()“.
Након сортирања, поново штампамо вектор парова користећи „цоут“ и стављамо прву и другу кључну реч са „ми_вец[и]“. Сада се овде штампа и сортирани вектор парова.
Код 1:
#инцлуде<битс/стдц++.х>користећи простор имена стд;
инт маин ( )
{
вектор < пар < ти, ти > > ми_вецт;
инт ми_арр1 [ ] = { 49 , двадесет , петнаест , 56 } ;
инт ми_арр2 [ ] = { 37 , двадесет , 90 , 55 } ;
инт број = сизеоф ( ми_арр1 ) / величина ( ми_арр1 [ 0 ] ) ;
за ( инт и = 0 ; и < да ли је и++ )
ми_вецт.пусх_бацк ( маке_паир ( ми_арр1 [ и ] ,ми_арр2 [ и ] ) ) ;
цоут << 'Пре сортирања вектора парова: ' << ендл;
за ( инт и = 0 ; и < да ли је и++ )
{
цоут << ми_вецт [ и ] .први << ' '
<< ми_вецт [ и ] .други << ендл;
}
врста ( ми_вецт.бегин ( ) , ми_вецт.енд ( ) ) ;
цоут << ' \н Након сортирања вектора парова: ' << ендл ;
за ( инт и = 0 ; и < да ли је и++ )
{
цоут << ми_вецт [ и ] .први << ' '
<< ми_вецт [ и ] .други << ендл;
}
повратак 0 ;
}
Излаз:
Прво се приказује вектор парова пре сортирања. Затим примењујемо технику сортирања на овај вектор парова. Затим, сортирани вектор парова је такође приказан овде. Видимо да је вектор парова сортиран у растућем редоследу на основу првог елемента пара.
Пример 2:
У овом примеру, сада креирамо „вектор парова“ који се зове „вецтор_1“ и додељујемо тип података „инт“, што значи да су информације које уносимо у ове парове типа „цео број“. Два низа са именима „фирст_арр[]” и „сецонд_арр[]” су иницијализована у наставку. Овде иницијализујемо вредности ових низова за вредности првог и другог пара.
Затим уносимо ове вредности у вектор парова користећи петљу „фор“. Опција „маке_паир“, која се користи за генерисање објекта пар од две вредности из низова „фирст_арр[]“ и „сецонд_арр[]“, смештена је унутар „пусх_бацк()“ методе која помаже да се ставке уметну у крај вектора.
Затим, још једном користимо петљу „фор“ за излаз вектора парова. Да би се добила прва и друга вредност вектора парова, убацују се „прва“ и „друга“ кључна реч. Ово даје вектор пара без икаквог сортирања у овом тренутку. Сада сортирамо „вектор парова“ коришћењем функције „сорт()“ у опадајућем редоследу. У ову функцију постављамо функције „рбегин()“ и „ренд()“ тако да ће обрнути сортирање и почети од краја вредности пара. Распоређује их у опадајућем редоследу.
Након сортирања, користимо „цоут“ за излаз вектора парова након што још једном употребимо петљу „фор“, убацујући прву и другу кључну реч са „вецтор_1[и]“ у „цоут“. Овде се такође штампа сортирани вектор парова.
Код 2:
#инцлуде <битс/стдц++.х>користећи простор имена стд;
инт маин ( )
{
вектор < пар < ти, ти > > вецтор_1;
инт фирст_арр [ ] = { 77 , 29 , 97 , петнаест } ;
инт сецонд_арр [ ] = { 35 , 89 , 64 , 25 } ;
инт с = сизеоф ( фирст_арр ) / величина ( фирст_арр [ 0 ] ) ;
за ( инт и = 0 ; и < с; и++ )
вецтор_1.пусх_бацк ( маке_паир ( фирст_арр [ и ] , сецонд_арр [ и ] ) ) ;
цоут << „Пре сортирања:“ << ендл;
за ( инт и = 0 ; и < с; и++ ) {
цоут << вектор_1 [ и ] .први << ' ' << вектор_1 [ и ] .други
<< ендл;
}
врста ( вектор_1.бегин ( ) , вецтор_1.ренд ( ) ) ;
цоут << ендл << „Након сортирања:“ << ендл;
за ( инт и = 0 ; и < с; и++ ) {
цоут << вектор_1 [ и ] .први << ' ' << вектор_1 [ и ] .други
<< ендл;
}
повратак 0 ;
}
Излаз:
Овде је прво приказан вектор претходног сортирања парова, а затим сортирани вектор парова који је такође приказан овде након што се на њега примени процес сортирања. Као што видимо, почетни елемент сваког пара одређује како се вектор парова сортира у опадајућем редоследу.
Пример 3:
Овде креирамо функцију типа „боол“ под називом „сортБиСецЕлемент“ да сортирамо векторске бројеве. У ову функцију постављамо услов, „валуе1.сецонд < валуе2.сецонд”, који упоређује друге вредности оба вектора пара и враћа бројеве.
Затим, „маин()“ се позива у наставку где креирамо вектор парова. Следеће иницијализује два низа под називом „нев_арраи1[]“ и „нев_араи2[]“. Овде убацујемо вредности парова у ове низове. Затим користимо петљу „фор“ да унесемо ове вредности у вектор парова. Унутар методе „пусх_бацк()“, која помаже у уметању ставки на крају вектора, налази се опција „маке_паир“ која се користи за креирање објекта пара од две вредности из „нев_арраи1[]“ и „нев_арраи2[ ]” низови.
Затим ћемо извести вектор парова користећи другу „фор“ петљу. Кључне речи „прва“ и „друга“ се убацују да би се добила прва и друга вредност вектора парова. У овој фази се не врши сортирање и излази вектор пара. Сада користимо функцију „сорт()“ да га сортирамо. Почетак и крај вектора парова се достављају функцији „сорт()“ у овом случају коришћењем функција „бегин()“ и „енд()“. Такође постављамо функцију „сортБиСецЕлемент“ коју смо претходно креирали унутар ове функције „сорт()“ где постављамо образац сортирања вектора парова из другог елемента вектора у растућем редоследу.
Сада поново користимо петљу „фор“. Затим, прва и друга кључна реч се убацују са „нев_вец[и]“ у „цоут“ да би се поново произвео вектор парова након сортирања. Ово је такође место где се сада штампа сортирани вектор парова у растућем редоследу.
Код 3:
#инцлуде<битс/стдц++.х>користећи простор имена стд;
боол сортБиСецЕлемент ( цонст пар < ти, ти > & вредност1,
цонст пар < ти, ти > & вредност2 )
{
повратак ( вредност1.други < вредност2.други ) ;
}
инт маин ( )
{
вектор < пар < ти, ти > > нова_ствар
инт нев_арр1 [ ] = { 3. 4 , 29 , 65 , 48 } ;
инт нев_арр2 [ ] = { 67 , 19 , 54 , 7 } ;
инт вредност = сизеоф ( нев_арр1 ) / величина ( нев_арр1 [ 0 ] ) ;
за ( инт и = 0 ; и < вредност; и++ )
нев_вец.пусх_бацк ( маке_паир ( нев_арр1 [ и ] ,нев_арр2 [ и ] ) ) ;
цоут << „Пре сортирања:“ << ендл ;
за ( инт и = 0 ; и < вредност; и++ )
{
цоут << нова_ствар [ и ] .први << ' '
<< нова_ствар [ и ] .други << ендл;
}
врста ( нев_вец.бегин ( ) , нев_вец.енд ( ) , сортБиСецЕлемент ) ;
цоут << ендл << „Након сортирања:“ << ендл ;
за ( инт и = 0 ; и < вредност; и++ )
{
цоут << нова_ствар [ и ] .први << ' '
<< нова_ствар [ и ] .други << ендл;
}
повратак 0 ;
}
Излаз:
Овде се приказује сортирани вектор парова, а сортирање се врши према другим вредностима парова. Други елемент парова се чува у растућем редоследу и овде се приказује.
Закључак
Овај водич се бави „вектором сортирања парова“ у Ц++. Истраживали смо „вектор парова“ без сортирања, као и сортирање „вектора парова“ у растућем и опадајућем редоследу. Ово смо илустровали примерима у којима сортирамо „вектор парова“ према првом и другом броју ових парова у Ц++ програмирању. Сазнали смо да метода „сорт()“ помаже у овом сортирању.