码迷,mamicode.com
首页 > 其他好文 > 详细

03-稀疏矩阵

时间:2016-01-19 14:16:26      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:

二维数组表格内容

技术分享

为了提高内存使用效率,压缩表示

技术分享

?

压缩,是将有效的数据保存下来,上述中无效的数据直接进行了抛弃,而现实中,往往会将重复的数据视为一个有效数据存储,在上述结构中稍作修改即可实现。

?

#include?<iostream>

using?namespace?std;?

?

void?printDepress(int?arr[][3])

{

? ??cout<<"------"

? ? ? ? <<arr[0][0]<<" "

? ? ? ? <<arr[0][1]<<" "

? ? ? ? <<arr[0][2]<<"----"<<endl;

? ??for?(int?i=1; i<=arr[0][2]; ++i) {

? ? ? ??for?(int?j=0; j<3; ++j) {

? ? ? ? ? ??cout<<arr[i][j]<<" ";

? ? ? ? }

? ? ? ??cout<<endl;

? ? }

}

?

int?main()

{

? ??int?data[5][10] = {

? ? ? ??0,0,1,0,0,0,0,0,0,0,

? ? ? ??0,0,0,9,0,0,0,0,0,0,

? ? ? ??0,0,0,0,0,2,0,0,0,0,

? ? ? ??0,0,0,0,3,0,0,0,0,0,

? ? ? ??0,0,0,0,0,0,0,6,0,0

? ? };

? ??int?count =?0;

? ??int?depress[20][3];

? ? depress[0][0] =?5;

? ? depress[0][1] =?10;

? ??for?(int?row=0; row<5; ++row) {

? ? ? ??for?(int?col=0; col<10; ++col) {

? ? ? ? ? ??if?(data[row][col] !=?0) {

? ? ? ? ? ? ? ? ++count;

?? ? ? ? ? ? ? ? depress[count][0] = row;

? ? ? ? ? ? ? ? depress[count][1] = col;

? ? ? ? ? ? ? ? depress[count][2] = data[row][col];

? ? ? ? ? ? }

? ? ? ? }

? ? }

? ??//?有效数据个数

? ? depress[0][2] = count;

? ??printDepress(depress);

? ??return?0;

}

?

结果:

------5 10 5----

0 2 1?

1 3 9?

2 5 2?

3 4 3?

4 7 6?

Program ended with exit code: 0

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

03-稀疏矩阵

标签:

原文地址:http://www.cnblogs.com/sharpfeng/p/5141962.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!