稀疏矩阵的存储(c++)

000000

030000

000600

009000

0000120

#include
#include
using namespacestd;

intmain()

{

int number[5][3] = {

{5, 6, 4},//5表示一共5列,6表示6行,4表示有4个非0元素

{1, 1, 3},//记录存储的第一个非0元素的行数,列数和对应的值,后面的含义相同

{2, 3, 6},

{3, 2, 9},

{4, 4, 12}

};

int k;//用来存储非零元素的索引

k = 1;

cout<< "稀疏矩阵" <<endl;

for (int i = 0; i < 5;i++)

{

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

{

cout<<setiosflags(ios::left);

cout<<setw(10)<< number[i][j];

}

cout<<endl;

}

cout<< "还原稀疏矩阵:" <<endl;

for (int i = 0; i < number[0][0];i++)//循环稀疏矩阵的列

{

for (int j = 0; j < number[0][1];j++)//循环稀疏矩阵的行

{

if (k <= number[0][2] && (i == number[k][0]) && (j == number[k][1]))//判断是否为非零元素,如果是非零元素则输出非零元素

{

cout<<setw(5) << number[k][2];

k++;

}

else

cout<<setw(5) << 0;//输出为0的元素

}

cout<<endl;

}

return 0;

}

稀疏矩阵的存储(c++)




原文链接: https://www.cnblogs.com/liusuanyatong/p/11259921.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/225010

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月13日 下午12:39
下一篇 2023年2月13日 下午12:39

相关推荐