数据结构稀疏矩阵转置输出C语言
时间: 2023-12-01 15:40:34 浏览: 131
以下是两种C语言实现稀疏矩阵转置的方法:
1. 采用矩阵的常规存储方式实现矩阵转置
```c
void TransMatrix(int source[m][n], int dest[n][m]) {
// source表示被转置的矩阵,dest表示转置后的矩阵
int i, j;
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
dest[j][i] = source[i][j]; // 行列对换
}
}
}
```
2. 采用三元组表方式实现矩阵转置
```c
// 列序递增转置法 三元组
void TransposeTSMatrix(TSMatrix A, TSMatrix *B) {
int i, j, k;
B->m = A->n;
B->n = A->m;
B->len = A->len;
if (B->len > 0) {
j = 1; // 辅助计数器
for (k = 1; k <= A->n; k++) {
for (i = 1; i <= A->len; i++) {
if (A->data[i]->col == k) {
B->data[j]->row = A->data[i]->col;
B->data[j]->col = A->data[i]->row;
B->data[j]->e = A->data[i]->e;
j++;
}
}
}
}
}
```
阅读全文