【发布时间】:2016-12-19 10:25:07
【问题描述】:
我有一个来自 STL 的向量列表。它们有不同的长度,我想按每个向量的第一个元素对它们进行排序。例如,我有向量:4 4 5 6 10, 1 8, 2 2 3 and 3 1 7 9. 第一个数字是每个向量的大小,然后是向量的元素。我想在文件中显示向量,按第一个元素排序。在此示例中,我的向量应按以下顺序显示:3 1 7 9, 2 2 3, 4 4 5 6 10 和 1 8。
这是我的代码:
ofstream fout ("retele.out");
fout << T << '\n';
for (i=1; i<=T; i++)
{
fout << sol[i].size() << ' ';
sort(sol[i].begin(),sol[i].end());
for (j=0; j<sol[i].size(); j++)
fout << sol[i][j] << ' ';
fout << '\n';
}
fout.close();
“T”是向量的数量。 “排序”函数用于对每个向量进行排序,我还需要另一个排序来对刚才描述的向量进行排序。
【问题讨论】:
-
可以在这个例子中添加变量
sol的声明吗? -
可能是
sort(sol.begin(), sol.end())? -
这里是声明: unsigned int i, j;向量 sol[50001];无符号整数 T;
-
vector <unsigned int> sol[50001]你想创建一个包含 50001 个向量的 cstyle 数组吗? -
您是否将向量的大小存储为向量的第一个元素?如果是,为什么?
标签: c++ algorithm sorting vector stl