C++ sortiranje vektora parova

C Sortiranje Vektora Parova



C++ pruža mogućnost prikaza vektora parova i sortiranja vektora parova. U C++-u postoji spremnik koji sadrži dvije vrijednosti koje su preslikane jedna u drugu, a naziva se 'par' i 'vektor parova', što je vektor koji u sebi ima mnogo ovih parova. Sortiranje znači poredati podatke uzlaznim ili silaznim redoslijedom prema zahtjevima. Ovdje ćemo naučiti kako sortirati vektor parova u C++ programiranju. Možemo sortirati vektore parova iu 'uzlaznom' i 'silaznom' redoslijedu u C++. Lako možemo sortirati vektore parova korištenjem metode 'sort()'. Napravimo ovdje neke kodove za sortiranje vektora parova.

Primjer 1:

Započnimo kod uključivanjem datoteke zaglavlja ovdje koja je 'bits/stdc++.h'. Nakon što imamo ovu datoteku zaglavlja, ne moramo uključiti više datoteka zaglavlja jer sadrži sve potrebne biblioteke. Zatim dodajemo prostor imena 'std' i pozivamo funkciju 'main()'.







Sada deklariramo “vektor parova” pod nazivom “my_vect” i stavljamo tip podataka “int” tako da su podaci koje unosimo u te parove tipa podataka “integer”. Ispod ovoga inicijaliziramo dva niza s imenima “my_arr1[]” i “my_arr2[]”. Ovdje inicijaliziramo prvu i drugu vrijednost para s ovim vrijednostima niza. Zatim koristimo petlju 'for' za unos ovih vrijednosti u vektor parova. Ovdje koristimo funkciju 'push_back()' koja pomaže u umetanju vrijednosti na kraju vektora. Unutar ove funkcije postavljamo opciju 'make_pair' koja se koristi za konstrukciju objekta para dviju vrijednosti 'my_arr1' i 'my_arr2'.



Nakon toga ispisujemo vektor parova ponovno koristeći 'for' petlju. Ovdje se dodaju ključne riječi 'prva' i 'druga' kako bi se dobile prva i druga vrijednost vektora parova. Ovo ispisuje vektor parova bez sortiranja ovdje. Sada koristimo funkciju 'sort()' za sortiranje vektora parova. Ovdje se koriste funkcije 'begin()' i 'end()' jer se prosljeđuju početni i kraj vektora parova ovoj funkciji 'sort()'.



Nakon sortiranja, ponovno ispisujemo vektor parova koristeći 'cout' i postavljamo prvu i drugu ključnu riječ s 'my_vec[i]'. Ovdje se također ispisuje sortirani vektor parova.





Kod 1:

#include

korištenje imenskog prostora std;

int glavni ( )

{

vektor < par < ti ti > > moj_vect;

int moj_arr1 [ ] = { 49 , dvadeset , petnaest , 56 } ;

int moj_arr2 [ ] = { 37 , dvadeset , 90 , 55 } ;

int num = sizeof ( moj_arr1 ) / veličina ( moj_arr1 [ 0 ] ) ;

za ( int ja = 0 ; ja < da li i++ )

moj_vect.povratak ( napravi_par ( moj_arr1 [ ja ] ,moj_arr2 [ ja ] ) ) ;

cout << 'Prije sortiranja vektora parova: ' << endl;

za ( int ja = 0 ; ja < da li i++ )

{

cout << moj_vect [ ja ] .prvi << ' '

<< moj_vect [ ja ] .drugi << endl;

}

vrsta ( moj_vect.početak ( ) , moj_vect.end ( ) ) ;

cout << ' \n Nakon sortiranja vektora parova: ' << endl ;

za ( int ja = 0 ; ja < da li i++ )

{

cout << moj_vect [ ja ] .prvi << ' '

<< moj_vect [ ja ] .drugi << endl;

}

povratak 0 ;

}



Izlaz:

Prvo se prikazuje vektor parova prije sortiranja. Zatim primjenjujemo tehniku ​​sortiranja na ovaj vektor parova. Zatim se ovdje također prikazuje sortirani vektor parova. Vidimo da je vektor parova poredan uzlaznim redoslijedom na temelju prvog elementa para.

Primjer 2:

U ovom primjeru sada stvaramo 'vektor parova' pod nazivom 'vector_1' i dodjeljujemo tip podataka 'int', što znači da su informacije koje unosimo u te parove tipa podataka 'cijeli broj'. Dva niza s imenima “first_arr[]” i “second_arr[]” inicijaliziraju se u nastavku. Ovdje inicijaliziramo vrijednosti ovih nizova za vrijednosti prvog i drugog para.

Zatim unosimo te vrijednosti u vektor parova pomoću petlje 'za'. Opcija “make_pair”, koja se koristi za generiranje objekta para dviju vrijednosti iz polja “first_arr[]” i “second_arr[]”, smještena je unutar metode “push_back()” koja pomaže u umetanju stavki u kraj vektora.

Zatim, još jednom koristimo petlju 'for' za izlaz vektora parova. Da bi se dobila prva i druga vrijednost vektora parova, umetnute su ključne riječi 'prva' i 'druga'. Ovo daje vektor para bez ikakvog sortiranja u ovoj točki. Sada sortiramo 'vektor parova' korištenjem funkcije 'sort()' u silaznom redoslijedu. U ovu funkciju postavljamo funkcije 'rbegin()' i 'rend()' tako da će obrnuti sortiranje i početi od kraja vrijednosti para. Slaže ih silaznim redoslijedom.

Nakon sortiranja, koristimo 'cout' za izlaz vektora parova nakon što još jednom upotrijebimo petlju 'for', umetanjem prve i druge ključne riječi s 'vector_1[i]' u 'cout'. Ovdje se također ispisuje sortirani vektor parova.

Kod 2:

#include

korištenje imenskog prostora std;

int glavni ( )

{

vektor < par < ti ti > > vektor_1;

int prvi_arr [ ] = { 77 , 29 , 97 , petnaest } ;

int drugi_arr [ ] = { 35 , 89 , 64 , 25 } ;

int s = sizeof ( prvi_arr ) / veličina ( prvi_arr [ 0 ] ) ;

za ( int i = 0 ; ja < s; i++ )

vektor_1.pogurati_natrag ( napravi_par ( prvi_arr [ ja ] , drugi_arr [ ja ] ) ) ;

cout << 'Prije sortiranja:' << endl;

za ( int i = 0 ; ja < s; i++ ) {

cout << vektor_1 [ ja ] .prvi << ' ' << vektor_1 [ ja ] .drugi

<< endl;

}

vrsta ( vektor_1.početak ( ) , vektor_1.rend ( ) ) ;

cout << endl << 'Nakon sortiranja:' << endl;

za ( int i = 0 ; ja < s; i++ ) {

cout << vektor_1 [ ja ] .prvi << ' ' << vektor_1 [ ja ] .drugi

<< endl;

}

povratak 0 ;

}

Izlaz:

Ovdje je prvi prikazan vektor prethodnog sortiranja parova, a zatim sortirani vektor parova koji je također prikazan ovdje nakon što se na njega primijeni postupak sortiranja. Kao što vidimo, početni element svakog para određuje kako je vektor parova poredan silaznim redoslijedom.

Primjer 3:

Ovdje stvaramo funkciju tipa 'bool' pod nazivom 'sortBySecElement' za sortiranje vektorskih brojeva. U ovu funkciju postavljamo uvjet, 'value1.second < value2.second', koji uspoređuje druge vrijednosti oba vektora para i vraća brojeve.

Zatim se poziva “main()” u nastavku gdje kreiramo vektor parova. Sljedeće inicijalizira dva polja pod nazivom “new_array1[]” i “new_aray2[]”. Ovdje u ove nizove umećemo vrijednosti parova. Zatim koristimo petlju 'for' za unos ovih vrijednosti u vektor parova. Unutar metode 'push_back()', koja pomaže u umetanju stavki na kraju vektora, nalazi se opcija 'make_pair' koja se koristi za stvaranje objekta para dviju vrijednosti iz 'new_array1[]' i 'new_array2[ ]” nizovi.

Zatim šaljemo vektor parova koristeći drugu 'for' petlju. Ključne riječi 'prva' i 'druga' umetnute su kako bi se dobile prva i druga vrijednost vektora parova. U ovoj fazi se ne vrši razvrstavanje, a izlazi vektor para. Sada koristimo funkciju 'sort()' za sortiranje. Početak i kraj vektora parova dostavljaju se funkciji 'sort()' u ovom slučaju korištenjem funkcija 'begin()' i 'end()'. Također postavljamo funkciju “sortBySecElement” koju smo prethodno kreirali unutar ove funkcije “sort()” gdje postavljamo obrazac sortiranja vektora parova od drugog elementa vektora u rastućem redoslijedu.

Sada ponovno koristimo petlju 'for'. Zatim se prva i druga ključna riječ umeću s 'new_vec[i]' u 'cout' kako bi se ponovno proizveo vektor parova nakon sortiranja. Ovdje se također ispisuje sortirani vektor parova u rastućem redoslijedu.

Kod 3:

#include

korištenje imenskog prostora std;

bool sortBySecElement ( const par < ti ti > i vrijednost1,

const par < ti ti > i vrijednost2 )

{

povratak ( vrijednost1.drugo < vrijednost2.drugi ) ;

}

int glavni ( )

{

vektor < par < ti ti > > nova_stvar

int novi_arr1 [ ] = { 3. 4 , 29 , 65 , 48 } ;

int novi_arr2 [ ] = { 67 , 19 , 54 , 7 } ;

int vrijednost = sizeof ( novi_arr1 ) / veličina ( novi_arr1 [ 0 ] ) ;

za ( int ja = 0 ; ja < vrijednost; i++ )

new_vec.push_back ( napravi_par ( novi_arr1 [ ja ] ,novi_arr2 [ ja ] ) ) ;

cout << 'Prije sortiranja:' << endl ;

za ( int ja = 0 ; ja < vrijednost; i++ )

{

cout << nova_stvar [ ja ] .prvi << ' '

<< nova_stvar [ ja ] .drugi << endl;

}

vrsta ( novi_vec.početak ( ) , novi_vec.kraj ( ) , poredajPoSecElementu ) ;

cout << endl << 'Nakon sortiranja:' << endl ;

za ( int ja = 0 ; ja < vrijednost; i++ )

{

cout << nova_stvar [ ja ] .prvi << ' '

<< nova_stvar [ ja ] .drugi << endl;

}

povratak 0 ;

}

Izlaz:

Ovdje se prikazuje sortirani vektor parova, a sortiranje se vrši prema drugim vrijednostima parova. Drugi element parova pohranjuje se uzlaznim redoslijedom i prikazuje ovdje.

Zaključak

Ovaj vodič je sve o 'sortiranju vektora parova' u C++. Istraživali smo “vektor parova” bez sortiranja kao i sortiranje “vektora parova” u uzlaznom i silaznom redoslijedu. To smo ilustrirali primjerima u kojima sortiramo “vektor parova” prema prvom i drugom broju tih parova u C++ programiranju. Naučili smo da metoda 'sort()' pomaže u ovom sortiranju.