您的位置:首页 > 编程语言 > Go语言

Algorithm Gossip: 稀疏矩阵

2015-02-04 00:52 323 查看
/****************************************
*  File Name  : arithmetic.c
*  Creat Data : 2015.2.4
*  Author     : ZY
*****************************************/

/*Algorithm Gossip: 稀疏矩阵*/
/*如果在矩阵中,多数的元素并没有资料,称此矩阵为稀疏矩阵*/
/*0 0 0 0 0  0
0 3 0 0 0  0
0 0 0 6 0  0
0 0 9 0 0  0
0 0 0 0 12 0
此矩阵为5*6矩阵,非零元素4个,使用阵列第一行记录其行数、列数
与非零元素的个数
5 6 4
阵列的第二行开始,记录行索引、列索引和存储数据
1 1 3
2 3 6
3 2 9
4 4 12*/

#include <stdio.h>
int main(void)
{
int num[5][3] = {
{5,6,4},
{1,1,3},
{2,3,6},
{3,2,9},
{4,4,12}
};
int i,j,k = 1;
printf("sparse matrix:\n");
for(i = 0;i < 5;i++)
{
for(j = 0;j < 3;j++)
{
printf("%4d ",num[i][j]);
}
printf("\n");
}
printf("matrix还原:\n");
for(i = 0;i < num[0][0];i++)
{
for(j = 0;j < num[0][1];j++)
{
if(k <= num[0][2]&&i == num[k][0]&&j == num[k][1])
{
printf("%4d",num[k][2]);
k++;
}
else
{
printf("%4d",0);
}
}
printf("\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: