游客已登陆 (0)未知
笔行证 257310
昵称 kuan 
笔贝 Score1
加为好友 发送短信
<< << 2008 十一月 >> >>
1
2345678
9101112131415
16171819202122
23242526272829
30

访问计数:23526
本文:270 今天:1 本月 270

本地音乐播放器



 
       稀疏矩阵十字链接存储
2007-04-12 晴



struct CrossNode
{
int row, col;
ElemType val;
CrossNode *right, *down;
};

struct CLMatrix
{
int m,n,t;
CrossNode *rv[MaxRows+1];
CrossNode *cv[MaxColumns+1];
};



void InitMatrix(CLMatrix &M)
{
M.m=0;
M.n=0;
M.t=0;
for(int i=1; i <= MaxRows; i++)
M.rv = NULL;
for(i=1; <= maxColumns; i++)
M.cv = NULL;
}

void InputMatrix(ClMatrex &M,int m, int n)
{
M.m=m;
M.n=n;
int row,col,val;
int k=0;
cin>>row>>col>>val;
while(row != 0)
{
k++;
CrossNode *cp, *newptr;
//得到和建立一个新结点
newptr = new CrossNode;
newptr->row = row;
newptr->col = col;
newptr->val = val;
newptr->right = newptr->down = NULL;

//把新结点链接到所在行单链表的末尾
cp=M.rv[row];
if(cp == NULL)
M.rv[row]=newptr;//表头
else
{
while(cp->right != NULL)
cp=cp->right;
cp->rihgt = newptr;
}

//把新结点链接到所在列单链表的末尾
cp=M.cv[col];
if(cp == NULL)
M.cv[col] = newptr;
else
{
while(cp->down != NULL)
cp = cp->down;
cp->down = newptr;
}

//输入一个新三元组
cin>>row>>col>>val;

}//end of while
M.t=k;
}.
# posted by kuan @ 2007-04-12 12:57:47 评论(0)
 








 
笔 名:
*
评 论:
最多1000字。当前字数:0
*
联系方式: