数据结构习题及答案

源代码在线查看: 5.24.c

软件大小: 52 K
上传用户: GUAIGUAICHENGTI
关键词: 数据结构
下载地址: 免注册下载 普通下载 VIP

相关代码

				5.24② 三元组表的另一种变型是,不存矩阵元素的行、
				列下标,而存非零元在矩阵中以行为主序时排列的顺序
				号,即在LOC(0,0)=1,l=1时按教科书5.2节中公式(5-4)
				计算出的值。试写一算法,由矩阵元素的下标值i,j求
				元素的值。
				
				要求实现以下函数:
				Status GetElem(TISMatrix M, int i, int j, int &e);
				/* 求行优先序号二元组矩阵的元素A[i][j]的值e */
				
				稀疏矩阵的优先序号二元组顺序表的类型TISMatrix的定义:
				typedef struct {
				  int     ri; // 该元素在以行为主序排列时的序号
				  ElemType e;
				} NodeI;
				
				typedef struct {
				  NodeI  data[MAXSIZE];
				  int    mu,nu,tu;
				} TISMatrix; // 行优先序号二元组矩阵类型
				Status GetElem(TISMatrix M, int i, int j, int &e)
				/* 求行优先序号二元组矩阵的元素A[i][j]的值e */
				{
				  int pos,p;
				  if(iM.mu||jM.nu) return ERROR;
				  pos=(i-1)*M.nu+(j-1)+1;
				  for(p=1;p				                                            //非0元素行主序序号呈递增
				  if(M.data[p].ri!=pos) 
				    {if(p				     else return ERROR;
				      }
				  e=M.data[p].e;                            //找到
				  return OK;
				}
				
							

相关资源