怎么使用STL中的sort与vector对二维数组(矩阵)实现按行排序

如何使用STL中的sort与vector对二维数组(矩阵)实现按行排序?
例如数组如下:
18 64 36 2
7 15 28 94
16 61 33 5
希望排序后的结果是
2 18 36 64
7 15 28 94
5 16 33 61
作为一个初学者,要用vector!要用sort!要用vector!要用sort!要用vector!要用sort!重要的事情说三遍。谢谢大大们了!
------解决思路----------------------

vector<int> a, b;
a.push_back(18);//18 64 36 2
a.push_back(64);
a.push_back(36);
a.push_back(2);

b.push_back(7);
b.push_back(15);
b.push_back(28);
b.push_back(94);

vector<vector<int> > vec2;
vec2.push_back(a);
vec2.push_back(b);

for (vector<vector<int> >::iterator it = vec2.begin(); it != vec2.end(); ++it)
{
sort(it->begin(), it->end());
}

for (vector<vector<int> >::iterator it = vec2.begin(); it != vec2.end(); ++it)
{
for (vector<int>::iterator itor = it->begin(); itor != it->end(); ++itor)
{
cout << *itor << " ";
}
cout << endl;
}

------解决思路----------------------

    int myints[3][4] =
    {
        {18, 64, 36, 2},
        {7, 15, 28, 94},
        {16, 61, 33, 5}
    };

    for (int i = 0; i < 3; i++)
    {
        std::vector<int> myvector(myints[i], myints[i] + 4);
        std::sort(myvector.begin(), myvector.end());
        std::vector<int>::iterator it;
        for (it = myvector.begin(); it != myvector.end(); it++)
        {
            std::cout << *it << std::endl;
        }
    }