C++ Sắp xếp vectơ của các cặp

C Sap Xep Vecto Cua Cac Cap



C++ cung cấp khả năng hiển thị vectơ cặp và sắp xếp vectơ cặp. Có một vùng chứa trong C++ chứa hai giá trị được ánh xạ với nhau được gọi là “cặp” và “vectơ của các cặp”, là một vectơ có nhiều cặp như vậy trong đó. Sắp xếp có nghĩa là sắp xếp dữ liệu theo thứ tự tăng dần hoặc giảm dần theo yêu cầu. Ở đây, chúng ta sẽ tìm hiểu cách sắp xếp vectơ cặp trong lập trình C++. Chúng ta có thể sắp xếp vectơ các cặp theo thứ tự “tăng dần” và “giảm dần” trong C++. Chúng ta có thể dễ dàng sắp xếp vectơ các cặp bằng cách sử dụng phương thức “sort()”. Hãy thực hiện một số mã ở đây để sắp xếp vectơ của các cặp.

Ví dụ 1:

Hãy bắt đầu viết mã bằng cách thêm tệp tiêu đề vào đây là “bits/stdc++.h”. Sau khi có tệp tiêu đề này, chúng ta không cần thêm nhiều tệp tiêu đề hơn vì nó chứa tất cả các thư viện cần thiết. Sau đó, chúng ta thêm không gian tên “std” và gọi hàm “main()”.







Bây giờ, chúng ta khai báo một “vectơ cặp” có tên là “my_vect” và đặt kiểu dữ liệu “int” để dữ liệu chúng ta nhập vào các cặp này là kiểu dữ liệu “số nguyên”. Bên dưới này, chúng tôi khởi tạo hai mảng với tên “my_arr1[]” và “my_arr2[]”. Ở đây, chúng ta khởi tạo giá trị thứ nhất và thứ hai của các cặp bằng các giá trị mảng này. Sau đó, chúng ta sử dụng vòng lặp “for” để nhập các giá trị này vào vectơ cặp. Ở đây, chúng tôi sử dụng hàm “push_back()” để hỗ trợ chèn các giá trị vào cuối vectơ. Bên trong hàm này, chúng ta đặt tùy chọn “make_pair” được sử dụng để xây dựng đối tượng cặp gồm hai giá trị “my_arr1” và “my_arr2”.



Sau đó, chúng ta in lại vectơ các cặp bằng cách sử dụng lại vòng lặp “for”. Ở đây, từ khóa “thứ nhất” và “thứ hai” được thêm vào để nhận giá trị thứ nhất và thứ hai của vectơ cặp. Điều này in vectơ các cặp mà không cần sắp xếp ở đây. Bây giờ, chúng ta sử dụng hàm “sort()” để sắp xếp vectơ của các cặp. Ở đây, các hàm “begin()” và “end()” được sử dụng khi truyền phần đầu và phần cuối của vectơ của các cặp cho hàm “sort()” này.



Sau khi sắp xếp, chúng tôi in lại vectơ các cặp bằng cách sử dụng “cout” và đặt từ khóa thứ nhất và thứ hai bằng “my_vec[i]”. Bây giờ, vectơ các cặp đã sắp xếp cũng được in ở đây.





Mã 1:

#include

sử dụng không gian tên std;

int chính ( )

{

vectơ < đôi < bạn, bạn > > my_vect;

int my_arr1 [ ] = { 49 , hai mươi , mười lăm , 56 } ;

int my_arr2 [ ] = { 37 , hai mươi , 90 , 55 } ;

int num = kích thước ( my_arr1 ) / kích thước của ( my_arr1 [ 0 ] ) ;

( int Tôi = 0 ; Tôi < liệu tôi++ )

my_vect.push_back ( make_pair ( my_arr1 [ Tôi ] ,my_arr2 [ Tôi ] ) ) ;

cout << 'Trước khi sắp xếp vectơ cặp:' << cuối cùng;

( int Tôi = 0 ; Tôi < liệu tôi++ )

{

cout << my_vect [ Tôi ] .Đầu tiên << ' '

<< my_vect [ Tôi ] .thứ hai << cuối cùng;

}

loại ( my_vect.begin ( ) , my_vect.end ( ) ) ;

cout << ' \N Sau khi sắp xếp vectơ các cặp: ' << cuối cùng ;

( int Tôi = 0 ; Tôi < liệu tôi++ )

{

cout << my_vect [ Tôi ] .Đầu tiên << ' '

<< my_vect [ Tôi ] .thứ hai << cuối cùng;

}

trở lại 0 ;

}



Đầu ra:

Vectơ của các cặp trước khi sắp xếp được hiển thị đầu tiên. Sau đó, chúng tôi áp dụng kỹ thuật sắp xếp trên vectơ cặp này. Sau đó, vectơ sắp xếp của các cặp cũng được hiển thị ở đây. Chúng ta có thể thấy rằng vectơ các cặp được sắp xếp theo thứ tự tăng dần dựa trên phần tử đầu tiên của cặp.

Ví dụ 2:

Trong ví dụ này, bây giờ chúng ta tạo một “vectơ các cặp” có tên là “vector_1” và gán kiểu dữ liệu “int”, có nghĩa là thông tin mà chúng ta nhập vào các cặp này thuộc kiểu dữ liệu “số nguyên”. Hai mảng có tên “first_arr[]” và “second_arr[]” được khởi tạo như sau. Ở đây, chúng ta khởi tạo các giá trị của mảng này cho giá trị của cặp thứ nhất và thứ hai.

Tiếp theo, chúng ta nhập các giá trị này vào vectơ cặp bằng vòng lặp “for”. Tùy chọn “make_pair”, được sử dụng để tạo đối tượng cặp gồm hai giá trị từ mảng “first_arr[]” và “second_arr[]”, được đặt bên trong phương thức “push_back()” giúp chèn các mục vào cuối vectơ.

Tiếp theo, chúng ta sử dụng vòng lặp “for” một lần nữa để xuất ra vectơ các cặp. Để có được giá trị thứ nhất và thứ hai của vectơ cặp, từ khóa “thứ nhất” và “thứ hai” được chèn vào. Điều này tạo ra vectơ cặp mà không có bất kỳ sự sắp xếp nào tại thời điểm này. Bây giờ chúng ta sắp xếp “vectơ cặp” bằng cách sử dụng hàm “sort()” theo thứ tự giảm dần. Trong hàm này, chúng ta đặt các hàm “rbegin()” và “rend()” để nó sẽ đảo ngược việc sắp xếp và bắt đầu từ cuối giá trị của cặp. Nó sắp xếp chúng theo thứ tự giảm dần.

Sau khi sắp xếp, chúng tôi sử dụng “cout” để xuất vectơ các cặp sau khi sử dụng vòng lặp “for” một lần nữa, chèn từ khóa thứ nhất và thứ hai với “vector_1[i]” vào “cout”. Đây là nơi vectơ sắp xếp của các cặp cũng được in.

Mã 2:

#include

sử dụng không gian tên std;

int chính ( )

{

vectơ < đôi < bạn, bạn > > vectơ_1;

int đầu tiên_arr [ ] = { 77 , 29 , 97 , mười lăm } ;

int giây_arr [ ] = { 35 , 89 , 64 , 25 } ;

int s = sizeof ( đầu tiên_arr ) / kích thước của ( đầu tiên_arr [ 0 ] ) ;

( int tôi = 0 ; Tôi < S; tôi++ )

vector_1.push_back ( make_pair ( đầu tiên_arr [ Tôi ] , giây_arr [ Tôi ] ) ) ;

cout << 'Trước khi sắp xếp:' << cuối cùng;

( int tôi = 0 ; Tôi < S; tôi++ ) {

cout << vectơ_1 [ Tôi ] .Đầu tiên << ' ' << vectơ_1 [ Tôi ] .thứ hai

<< cuối cùng;

}

loại ( vector_1.rbắt đầu ( ) , vector_1.rend ( ) ) ;

cout << kết thúc << 'Sau khi sắp xếp:' << cuối cùng;

( int tôi = 0 ; Tôi < S; tôi++ ) {

cout << vectơ_1 [ Tôi ] .Đầu tiên << ' ' << vectơ_1 [ Tôi ] .thứ hai

<< cuối cùng;

}

trở lại 0 ;

}

Đầu ra:

Vectơ sắp xếp trước của các cặp được hiển thị ở đây trước tiên, theo sau là vectơ được sắp xếp của các cặp cũng được hiển thị ở đây sau khi quá trình sắp xếp được áp dụng cho nó. Như chúng ta có thể thấy, phần tử ban đầu của mỗi cặp xác định cách sắp xếp vectơ của các cặp theo thứ tự giảm dần.

Ví dụ 3:

Ở đây, chúng ta tạo một hàm loại “bool” có tên là “sortBySecElement” để sắp xếp các số vectơ. Trong hàm này, chúng ta đặt một điều kiện, “value1.second < value2.second”, so sánh giá trị thứ hai của cả hai vectơ của các cặp và trả về các số.

Sau đó, “main()” được gọi trong phần sau để chúng ta tạo vectơ các cặp. Phần sau đây khởi tạo hai mảng có tên “new_array1[]” và “new_aray2[]”. Ở đây, chúng tôi chèn giá trị của các cặp vào các mảng này. Tiếp theo, chúng ta sử dụng vòng lặp “for” để nhập các giá trị này vào vectơ cặp. Bên trong phương thức “push_back()”, hỗ trợ chèn các mục vào cuối vectơ, là tùy chọn “make_pair” được sử dụng để tạo đối tượng cặp gồm hai giá trị từ “new_array1[]” và “new_array2[ ]” mảng.

Sau đó, chúng tôi xuất ra vectơ các cặp bằng cách sử dụng một vòng lặp “for” khác. Từ khóa “thứ nhất” và “thứ hai” được chèn vào để lấy giá trị thứ nhất và thứ hai của vectơ cặp. Không có sự sắp xếp nào được thực hiện ở giai đoạn này và vectơ cặp được xuất ra. Bây giờ chúng ta sử dụng hàm “sort()” để sắp xếp nó. Phần đầu và phần cuối của vectơ cặp được cung cấp cho hàm “sort()” trong trường hợp này thông qua việc sử dụng các hàm “begin()” và “end()”. Chúng tôi cũng đặt hàm “sortBySecElement” mà chúng tôi đã tạo trước đó bên trong hàm “sort()” này, nơi chúng tôi đặt mẫu sắp xếp vectơ các cặp từ phần tử thứ hai của vectơ theo thứ tự tăng dần.

Bây giờ, chúng ta sử dụng lại vòng lặp “for”. Sau đó, từ khóa thứ nhất và thứ hai được chèn với “new_vec[i]” trong “cout” để tạo lại vectơ các cặp sau khi sắp xếp. Đây cũng là nơi in vectơ được sắp xếp của các cặp theo thứ tự tăng dần.

Mã 3:

#include

sử dụng không gian tên std;

bool SortBySecEuity ( cặp hằng < bạn, bạn > & giá trị1,

cặp hằng < bạn, bạn > & giá trị2 )

{

trở lại ( giá trị1.giây < giá trị2.giây ) ;

}

int chính ( )

{

vectơ < đôi < bạn, bạn > > thứ mới

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

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

giá trị int = sizeof ( new_arr1 ) / kích thước của ( new_arr1 [ 0 ] ) ;

( int Tôi = 0 ; Tôi < giá trị; tôi++ )

new_vec.push_back ( make_pair ( new_arr1 [ Tôi ] ,new_arr2 [ Tôi ] ) ) ;

cout << 'Trước khi sắp xếp:' << cuối cùng ;

( int Tôi = 0 ; Tôi < giá trị; tôi++ )

{

cout << thứ mới [ Tôi ] .Đầu tiên << ' '

<< thứ mới [ Tôi ] .thứ hai << cuối cùng;

}

loại ( new_vec.begin ( ) , new_vec.end ( ) , phần tử SortBySecElement ) ;

cout << kết thúc << 'Sau khi sắp xếp:' << cuối cùng ;

( int Tôi = 0 ; Tôi < giá trị; tôi++ )

{

cout << thứ mới [ Tôi ] .Đầu tiên << ' '

<< thứ mới [ Tôi ] .thứ hai << cuối cùng;

}

trở lại 0 ;

}

Đầu ra:

Ở đây, vectơ các cặp đã sắp xếp được hiển thị và việc sắp xếp được thực hiện theo giá trị thứ hai của các cặp. Phần tử thứ hai của cặp được lưu trữ theo thứ tự tăng dần và hiển thị ở đây.

Phần kết luận

Hướng dẫn này nói về “vectơ sắp xếp các cặp” trong C++. Chúng tôi đã khám phá “vectơ cặp” mà không sắp xếp cũng như sắp xếp “vectơ cặp” theo thứ tự tăng dần và giảm dần. Chúng tôi đã minh họa điều này bằng các ví dụ trong đó chúng tôi sắp xếp “vectơ cặp” theo số thứ nhất và số thứ hai của các cặp này trong lập trình C++. Chúng ta đã biết rằng phương thức “sort()” hỗ trợ thực hiện việc sắp xếp này.