通过下列代码解释:
这么说吧,刚开始我也不是很理解。在经过一段时间研究后才枉然大悟。
1.首先说下,在以三元组表的形式存矩阵元素时。如果是以行向量来存的话,在输入与输出时,同一行中的数据,列不一定按顺序来。但行必须从上到下。
2.所以按照上面的规则,如果按一般思路,之所以不能直接行,列交换是因为直接交换后,行的顺序一般是乱的,在输出时就没有办法输出正确的矩阵。所以一般方法就得从第一列一直遍历到最后一列,每一列都要遍历全部来保证顺序。
3.而在快速转置的方法中 cpot【】保存的是正确的行序,所以可以直接行,列值交换而不会破坏行序
TSMatrix* TransTSMatrix_plus(TSMatrix* M)
{
TSMatrix* T;
T = (TSMatrix*)malloc(sizeof(TSMatrix));
T->tu = M->tu