(1)查找运算ElemType Find(SMatrix *dm, int i, int j)

//查找[i][j] 
ElemType Find(SMatrix *dm, int i, int j) //m行m列{ 
    int temp, k; 
    if (i<0 || i>=dm->m || j<0 || j>=dm->m) return ERROR; 
    if(i<j)
    { 
        temp = i; 
        i=j; 
        j = temp;
    } 
    k=i*(i+1)/2+j; 
    return dm->elements[k];
}

(2)赋值运算void SetValue(SMatrix *dm, int i, int j, ElemType x)

void SetValue(SMatrix  *dm, int i, int j, ElemType x) //设置[i][j]=x { 
   int temp, k;
   if(i<j){ temp = i;j=i; j = temp; } 
   k=i*(i+1)/2+j; 
   dm->elements[k] =x; 
}
ElemType Find(SparseMatrix *M, int i, int j) {if(i>=m||j>=n) return NULL;
    for(k = 0; k<M->t; k++){ 
         if(M->table[k].row==i && M->table[k].col==j) 
              return M->table[k].value;
         }
    return ZERO; //ZERO为预定义的零元值‎
}

时间复杂度为O(t) t 是实际非零元素个数

3.在这里插入图片描述

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐