跪求解一道数据结构题!2.12 设 和 均为顺序表, 和 分别为 和 中除去最大共同前缀后的子表.若 空表,则 ;若 =空表,而 空表,或者两者均不为空表,且 的首元小于 的首元,则 ;否则 .试写一个比
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/29 12:13:27
跪求解一道数据结构题!2.12 设 和 均为顺序表, 和 分别为 和 中除去最大共同前缀后的子表.若 空表,则 ;若 =空表,而 空表,或者两者均不为空表,且 的首元小于 的首元,则 ;否则 .试写一个比
跪求解一道数据结构题!
2.12 设 和 均为顺序表, 和 分别为 和 中除去最大共同前缀后的子表.若 空表,则 ;若 =空表,而 空表,或者两者均不为空表,且 的首元小于 的首元,则 ;否则 .试写一个比较 , 大小的算法.
解:
Status CompareOrderList(SqList &A,SqList &B)
{
int i,k,j;
k=A.length>B.length?A.length:B.length;
for(i=0;iB.elem[i]) j=1;
if(A.elem[i]k) j=1;
if(B.length>k) j=-1;
if(A.length==B.length) j=0;
return j;
}
这个答案啥意思啊 我怎么觉得它不对啊! 题目我也不知道啥意思!高手快来啊!
跪求解一道数据结构题!2.12 设 和 均为顺序表, 和 分别为 和 中除去最大共同前缀后的子表.若 空表,则 ;若 =空表,而 空表,或者两者均不为空表,且 的首元小于 的首元,则 ;否则 .试写一个比
这题原题是这样的,看得懂吧?
2.12 设A=(a1,…,am)和B=(b1,…,bn)均为有序顺序表,
A'和B'分别为A和B中除去最大共同前缀后的子表(例如,
A=(x,y,y,z,x,z),B=(x,y,y,z,y,x,x,z),则两者中最大
的共同前缀为(x,y,y,z), 在两表中除去最大共同前缀后
的子表分别为A'=(x,z)和B'=(y,x,x,z)).若A'=B'=空表,
则A=B;若A'=空表,而B'≠ 空表,或者两者均不为空表,
且A'的首元小于B'的首元,则AB.试写一个比
较A和B大小的算法.(注意:在算法中,不要破坏原表A
和B,也不一定先求得A'和B'才进行比较).
顺序表类型定义如下:
typedef struct {
ElemType *elem;
int length;
int listsize;
} SqList;
你上面那个答案代码稍微改改就好了.认真看看题目,会懂的.
Status CompareOrderList(SqList &A,SqList &B)
{
int i,k,j;
k=A.length>B.length?A.length:B.length;
for(i=0;iB.elem[i]) return'>';
if(A.elem[i]k) return'>';//B为空表,A>B
if(B.length>k) return'