稀疏矩阵转换为三元组
package com.wrh.lab.dataStructure.arrayAndGenericTable;
/**
*
* @author wrh
*SparseMatrix convert to Three Tuple
*/
public class SparseMatrixToThreeTuple {
public static void main(String[] args) {
int[][] data = { {0,0,0,0,0,0},
{0,3,0,0,0,0},
{0,4,0,0,0,0},
{0,0,9,0,0,0},
{0,0,0,0,0,0}
}; //5 * 6 matrix
int comData[][] = new int[10][3]; // 10 * 3 three tuple
int index; //row number of the three tuple
int i, j;
index = 0;
for (i =0; i < 5; i++) {
for (j = 0; j < 6; j++) {
if (0 != data[i][j]) {
index ++;
comData[index][0] = i;
comData[index][1] = j;
comData[index][2] = data[i][j];
}
}
}
comData[0][0] = 5;
comData[0][1] = 6;
comData[0][2] = index;
System.out.println("*********** the three tuple");
for (i = 0; i <= index; i++) {
for (j = 0; j < 3; j++) {
System.out.print(" " + comData[i][j] + " ");
}
System.out.println();
} //for
System.out.println("********transpose:");
for (i = 0; i <= index; i++) {
int tmp = comData[i][0];
comData[i][0] = comData[i][1];
comData[i][1] =tmp;
} //for
for (i = 0; i <= index; i++) {
for (j = 0; j < 3; j++) {
System.out.print(" " + comData[i][j] + " ");
}
System.out.println();
} //for
}
}
跟我走啊~~