C++稀疏矩阵的基本运算有哪些

这篇文章主要介绍C++稀疏矩阵的基本运算有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

创新互联建站是专业的惠农网站建设公司,惠农接单;提供网站设计、成都做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行惠农网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

C++稀疏矩阵的基本运算有哪些

代码:

#include 
#include
#include
using namespace std;
#define M 4
#define N 4
#define MaxSize 100
typedef int ElemType;
typedef struct
{
  int r;
  int c;
  ElemType d;///元素值
} TupNode; ///三元组定义
typedef struct
{
  int rows;
  int cols;
  int nums;
  TupNode data[MaxSize];
} TSMatrix; ///三元组顺序表定义
void CreatMat(TSMatrix &t,ElemType A[M][N])
{
  t.rows=M;
  t.cols=N;
  t.nums=0;
  for(int i=0; i=t.rows||j>=t.cols)
    return false;
  while(kt.data[k].r)k++;
  while(kt.data[k].c)k++;
  if(t.data[k].r==i&&t.data[k].c==j)
    t.data[k].d=x;
  else
  {
    for(k1=t.nums-1; k1>=k; k1--)
    {
      t.data[k1+1].r=t.data[k].r;
      t.data[k1+1].c=t.data[k].c;
      t.data[k1+1].d=t.data[k].d;
    }
    t.data[k].r=i;
    t.data[k].c=j;
    t.data[k].d=x;
    t.nums++;
  }
  return true;
}
bool Assign(TSMatrix t,ElemType &x,int i,int j)
{
  int k=0;
  if(i>=t.rows||j>=t.cols)
    return false;
  while(kt.data[k].r)k++;
  while(kt.data[k].c)k++;
  if(t.data[k].r==i&&t.data[k].c==j)
    x=t.data[k].d;
  else
    x=0;
  return true;
}
void DispMat(TSMatrix t)
{
  if(t.nums<=0)
    return ;
  printf("\t%d\t%d\t%d\n",t.rows,t.cols,t.nums);
  printf("\t-----------------\n");
  for(int i=0; ib.data[j].c)
      {
        c.data[k].r=b.data[j].r;
        c.data[k].c=b.data[j].c;
        c.data[k].d=b.data[j].d;
        k++;
        j++;
      }
      else
      {
        v=a.data[i].d+b.data[j].d;
        if(v!=0)
        {
          c.data[k].r=a.data[i].r;
          c.data[k].c=a.data[i].c;
          c.data[k].d=v;
          k++;
        }
        i++;
        j++;
      }
    }
    else if(a.data[i].r

以上是“C++稀疏矩阵的基本运算有哪些”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


分享标题:C++稀疏矩阵的基本运算有哪些
文章起源:http://hbruida.cn/article/jdeijj.html