Ц++ Сорт Вецтор оф Паирс

C Sort Vector Of Pairs



Ц++ пружа могућност приказивања вектора парова и сортирања вектора парова. Постоји контејнер у Ц++-у који садржи две вредности које су мапиране једна на другу која се зове „пар“ и „вектор парова“ који је вектор који има много ових парова у себи. Сортирање значи сређивање података у растућем или опадајућем редоследу према захтевима. Овде ћемо научити како да сортирамо вектор парова у Ц++ програмирању. Вектор парова можемо сортирати и по „узлазном“ и „опадајућем“ редоследу у Ц++. Вектор парова можемо лако сортирати коришћењем методе „сорт()“. Хајде да урадимо неке кодове овде да сортирамо вектор парова.

Пример 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 ;

}

Излаз:

Овде се приказује сортирани вектор парова, а сортирање се врши према другим вредностима парова. Други елемент парова се чува у растућем редоследу и овде се приказује.

Закључак

Овај водич се бави „вектором сортирања парова“ у Ц++. Истраживали смо „вектор парова“ без сортирања, као и сортирање „вектора парова“ у растућем и опадајућем редоследу. Ово смо илустровали примерима у којима сортирамо „вектор парова“ према првом и другом броју ових парова у Ц++ програмирању. Сазнали смо да метода „сорт()“ помаже у овом сортирању.