文档详情

数据结构第五章 数组和广义表作业讲评.ppt

发布:2017-11-18约3.86千字共20页下载文档
文本预览下载声明
第五章 数组和广义表;519;void Get_Saddle5(int A[m][n]) { for(i=0;im;i++) { min[i]=A[i][0]; for(j=0;jn;j++) //求一行中的最小值 { if(min[i]A[i][j]) min[i]=A[i][j]; } } for(i=0;im;i++) { column=0; for(j=0;jn;j++) { if(min[i]==A[i][j]) column=j; for(k=0;km;k++) //判断这个(些)最大值是否鞍点 if(A[k][column]min[i]) break; if(k==m) { saddlecount++; printf(Found a saddle A[%d][%d]=%d,i,j,A[i][j]); } } } if(saddlecount==0) printf(no saddle!); };void Get_Saddle(int A[m][n]) { for(i=0;im;i++) //求出行中最小值并标记 { min=A[i][0]; for(j=1;jn;j++) if (A[i][j]min) min=A[i][j]; for (j=0;jn;j++) if(A[i][j]==min) mina[i][j]=1; } for(j=0;jn;j++) //求出列中最大值并标记 { max=A[0][j]; for(i=1;im;i++) if (A[i][j]max) max=A[i][j]; for (i=0;im;i++) if(A[i][j]==max) maxa[i][j]=1; } ;519 方法2(2);5.21 三元组表表示的矩阵相加(2);void TSMatrix_Add(TSMatrix A,TSMatrix B,TSMatrix C) { C.mu=A.mu;C.nu=A.nu;C.tu=0;pa=1;pb=1;pc=1; for(x=1;x=A.mu;x++) //对矩阵的每一行进行加法 { while(A.data[pa].ix) pa++; while(B.data[pb].ix) pb++; while(A.data[pa].i==xB.data[pb].i==x)//行列值都相等 { if(A.data[pa].j==B.data[pb].j) { ce=A.data[pa].e+B.data[pb].e; if(ce) //和不为0 {C.data[pc].i=x; C.data[pc].j=A.data[pa].j; C.data[pc].e=ce; pa++;pb++;pc++;}//if }//if else if(A.data[pa].jB.data[pb].j) ; { C.data[pc].i=x;C.data[pc].j=B.data[pb].j; C.data[pc].e=B.data[pb].e;pb++;pc++;} else { C.data[pc].i=x;C.data[pc].j=A.data[pa].j; C.data[pc].e=A.data[pa].e;pa++;pc++;} } while(A.data[pa].i==x) //插入A中剩余的元素(第x行) { C.data[pc].i=x;C.data[pc].j=A.data[pa].j; C.data[pc].e=A.data[pa].e;pa++;pc++; } while(B.data[pb].i==x) //插入B中剩余的元素(第x行) { C.data[pc].i=x;C.data[pc].j=B.data[pb].j; C.data[pc].e=B.data[pb].e;pb++;pc++; } }//for C.tu=pc-1; }//TSMatrix_Add ;5.21 方法2(1);5.21-方法2
显示全部
相似文档