📜  C++中对对的排序向量设置1(按第一和第二的顺序排序)

📅  最后修改于: 2021-05-30 02:47:39             🧑  作者: Mango

什么是成对向量?
对是一个容器,该容器存储相互映射的两个值,并且包含多个此类对的向量称为对向量。

// C++ program to demonstrate vector of pairs
#include
using namespace std;
  
int main()
{
    //declaring vector of pairs
    vector< pair  > vect;
  
    // initialising 1st and 2nd element of
    // pairs with array values
    int arr[] = {10, 20, 5, 40 };
    int arr1[] = {30, 60, 20, 50};
    int n = sizeof(arr)/sizeof(arr[0]);
  
    // Entering values in vector of pairs
    for (int i=0; i

输出:

10 30
20 60
5 20
40 50

情况1:根据成对的第一个元素以升序对向量元素进行排序。
这种类型的排序可以使用简单的“ sort()”函数来实现。默认情况下,sort函数根据对的第一个元素对向量元素进行排序。

// C++ program to demonstrate sorting in
// vector of pair according to 1st element
// of pair
#include
using namespace std;
  
int main()
{
    // Declaring vector of pairs
    vector< pair  > vect;
  
    // Initializing 1st and 2nd element of
    // pairs with array values
    int arr[] = {10, 20, 5, 40 };
    int arr1[] = {30, 60, 20, 50};
    int n = sizeof(arr)/sizeof(arr[0]);
  
    // Entering values in vector of pairs
    for (int i=0; i

输出:

The vector before applying sort operation is:
10 30
20 60
5 20
40 50
The vector after applying sort operation is:
5 20
10 30
20 60
40 50

情况2:基于对的第二个元素以升序对向量元素进行排序。
在某些情况下,我们需要根据对的第二个元素对向量的元素进行排序。为此,我们修改了sort()函数,并传递了第三个参数,即对sort()函数用户定义的显式函数的调用。

// C++ program to demonstrate sorting in vector
// of pair according to 2nd element of pair
#include
using namespace std;
  
// Driver function to sort the vector elements
// by second element of pairs
bool sortbysec(const pair &a,
              const pair &b)
{
    return (a.second < b.second);
}
  
int main()
{
    // declaring vector of pairs
    vector< pair  > vect;
  
    // Initialising 1st and 2nd element of pairs
    // with array values
    int arr[] = {10, 20, 5, 40 };
    int arr1[] = {30, 60, 20, 50};
    int n = sizeof(arr)/sizeof(arr[0]);
  
    // Entering values in vector of pairs
    for (int i=0; i

输出:

The vector before applying sort operation is:
10 30
20 60
5 20
40 50
The vector after applying sort operation is:
5 20
10 30
40 50
20 60
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”