正在加载图片...
◆算法如下: int compare( a, b, m, n) int ALL, BL + int m,n; inti=0jAS[],BS[]ms=0,ns=0;/ASBS作为A,B*/ Whle(A[门]==B[j])计++; *找最大共同前缀* for j=i;j<m:j++) tASL-i]=ALl; ms++; /*求A,ms为A的长度* for gj=i;j<n j++) {BS]=B[j;ns++;} /*求B,ms为B的长度* if(ms==ns&&ms==0) return 0 else fms==088ns>0ms>0&&ns>088 AS[O]<BS[O] return -1 else return 1 ◆算法的时间性能是O(m+n) 2021年1月21日 数据结构讲义2021年1月21日 数据结构讲义 18 算法如下: int compare( A,B,m,n) int A[],B[]; int m,n; { int i=0,j,AS[],BS[],ms=0,ns=0; /*AS,BS作为A’, B’*/ while (A[i]==B[i]) i++; /*找最大共同前缀*/ for (j=i;j<m;j++) { AS[j-i]=A[j];ms++; } /*求A’, ms为A’的长度*/ for (j=i;j<n;j++) { BS[j-i]=B[j];ns++; } /*求B‘, ms为B’的长度*/ if (ms==ns&&ms==0) return 0; else if (ms==0&&ns>0 || ms>0 && ns>0 && AS[0]<BS[0]) return –1; else return 1; } 算法的时间性能是O( m+n )
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有