矩阵的转置

其实矩阵的转置算法是比较容易理解的,我之所以写本文,是想提醒自己C++中的STL库使用起来真是方便极了。

代码如下:

#include 
#include 
#include 
using std::vector;
using std::for_each;
using std::cout;
using std::endl;

void OutNum(int num)
{
    cout << num << " ";
}

void OutNumSeq(const vector & vecNum)
{
    for_each(vecNum.begin(), vecNum.end(), OutNum);
    cout << endl;
}

void Zhuanzhi(vector > & vecB, const vector > & vecA)
{
    int I = vecA.size();
    
    if (I <= 0 )
        return;
    
    int J = vecA[0].size();
    
    vecB.assign(J, vector(I, 0));

    for (int i=0; i > vecA = { {0, 1, 2, 3}, {4, 5, 6, 7} };
    vector > vecB;

    cout << "A:" << endl;
    for_each(vecA.begin(), vecA.end(), OutNumSeq);

    Zhuanzhi(vecB, vecA);

    cout << "B:" << endl;
    for_each(vecB.begin(), vecB.end(), OutNumSeq);

    return 0;
}

输出:

矩阵的转置_第1张图片
输出.png

你可能感兴趣的:(矩阵的转置)