正在加载图片...
《数据结构》实验指导/实验五:数组的存储及操作 3 if( trip. nums<=0) /没有非零元素时返回 mystr +=itj\td\r\n mystr += Arin' for(i=0; 1< trip mystr + trip data[i] rToString(+ "It"+ trip data[i]. cTo String +"It"+ rip data[i d ToString(+"rIn mystr+="共有”+ trip.nums, aStringe+"个非零元素"; return mysti public void TransArrayo ∥将三元组顺序表还原成稀疏矩阵 m=trip. rows for(i=0; i<m; 1++) for(=0; j<n;j++) A[j=0, for(k=0; k< trip. nums; k++) A[trip. data[ k] r, trip data( k). c]=trip. data( k].d; public bool Setvalue( int i, int j, int x) ∥通过三元组给稀疏矩阵元素赋值 ink=0.kI if (i<0 ll i >=trip. rows j<0 j>= trip. cols return false 下标错误时返回 false while(k< trip. nums && i>trip data(k] r) k++ ∥查找第i行的第一个非零元素 while(k< trip. nums &&i== trip data( k] r &&j> trip. datal[k].c) k++ ∥在第i行中查找第j列的元素 if(trip data(k). r==i&& trip data[k].c==j ∥找到了这样的元素 trip data[k]. d ∥不存在这样的元素时插入一个元素 for(kl= trip. nums-1;k1>=k;k1-)∥后移元素以便插入 trip data[ kl +1]. r=trip data[ kl]r, trip data k1 +1.c= trip. datalklc 管理科学与工程学科/共7页第3页《数据结构》实验指导 / 实验五:数组的存储及操作 3 管理科学与工程学科 / 共7页,第3页 if (trip.nums <= 0) //没有非零元素时返回 return mystr; mystr += "i\tj\td\r\n"; mystr += "---------------------------------\r\n"; for (i = 0; i < trip.nums; i++) mystr += trip.data[i].r.ToString() + "\t" + trip.data[i].c.ToString() + "\t" + trip.data[i].d.ToString() + "\r\n"; mystr += "共有" + trip.nums.ToString() + "个非零元素"; return mystr; } public void TransArray() //将三元组顺序表还原成稀疏矩阵 { int i, j, k; m = trip.rows; n = trip.cols; for (i = 0; i < m; i++) for (j = 0; j < n; j++) A[i, j] = 0; for (k = 0; k < trip.nums; k++) A[trip.data[k].r, trip.data[k].c] = trip.data[k].d; } public bool Setvalue(int i, int j, int x) //通过三元组给稀疏矩阵元素赋值 { int k = 0, k1; if (i < 0 || i >= trip.rows || j < 0 || j >= trip.cols) return false; //下标错误时返回 false while (k < trip.nums && i > trip.data[k].r) k++; //查找第 i 行的第一个非零元素 while (k < trip.nums && i == trip.data[k].r && j > trip.data[k].c) k++; //在第i行中查找第j列的元素 if (trip.data[k].r == i && trip.data[k].c == j) //找到了这样的元素 trip.data[k].d = x; else //不存在这样的元素时插入一个元素 { for (k1 = trip.nums - 1; k1 >= k; k1--) //后移元素以便插入 { trip.data[k1 + 1].r = trip.data[k1].r; trip.data[k1 + 1].c = trip.data[k1].c;
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有