给定一个数组向量,任务是对它们进行排序。
例子:
Input: [[1, 2, 3], [10, 20, 30], [30, 60, 90], [10, 20, 10]]
Output: [[1, 2, 3], [10, 20, 10], [10, 20, 30], [30, 60, 90]]
Input: [[7, 2, 9], [5, 20, 11], [6, 16, 19]]
Output: [[5, 20, 11], [6, 16, 19], [7, 2, 9]]
方法:
使用内置的sort()对数组向量进行排序 在 C++ STL 中,它需要一个在 boost 库中定义的数组模板来存储数组向量。
std:: vector
where, std::array is a container that encapsulates fixed size arrays.
在这个问题中, sort()函数首先使用两个参数(向量的开始位置)和第二个(向量的结束位置)来对数组向量(具有随机访问的项目)进行排序。下面是一个简单的程序来展示 sort() 的工作。
CPP
// C++ program to sort the vector
// of array by sort() function
// using STL in c++
#include
#include
#include
#include
using namespace std;
#define N 3
// Function to print vector of arrays
void print(vector > vect)
{
// Displaying the vector of arrays
// ranged for loop is supported
for (array i : vect) {
for (auto x : i)
cout << x << " ";
cout << endl;
}
}
// Driver code
int main()
{
// std::array is a container that
// encapsulates fixed size arrays.
vector > vect;
vect.push_back({ 1, 2, 3 });
vect.push_back({ 10, 20, 30 });
vect.push_back({ 30, 60, 90 });
vect.push_back({ 10, 20, 10 });
cout << "Vector of arrays"
<< " before sorting: \n";
print(vect);
// Sorting the vector using built-in sort()
// defined in algorithm header in C++ STL
sort(vect.begin(), vect.end());
cout << "Vector of arrays"
<< " after sorting: \n";
print(vect);
// End of program
return 0;
}
输出:
Vector of arrays before sorting:
1 2 3
10 20 30
30 60 90
10 20 10
Vector of arrays after sorting:
1 2 3
10 20 10
10 20 30
30 60 90
想要从精选的视频和练习题中学习,请查看C++ 基础课程,从基础到高级 C++ 和C++ STL 课程,了解语言和 STL。要完成从学习语言到 DS Algo 等的准备工作,请参阅完整的面试准备课程。