注册 登录
编程论坛 数据结构与算法

求解一道数据结构题!! 大家来帮忙吧!

hellengoodd 发布于 2011-04-17 10:36, 492 次点击
2.12 设A和B均为顺序表,AB分别为 A和B 中除去最大共同前缀后的子表。若A=B= 空表,则A=B ;若A =空表,而 B不=空表,或者两者均不为空表,且 A的首元小于B 的首元,则A<B ;否则A>B 。试写一个比较 A,B 大小的算法。
解:
Status CompareOrderList(SqList &A,SqList &B)
{
    int i,k,j;
    k=A.length>B.length?A.length:B.length;
    for(i=0;i<k;i++){
        if(A.elem[i]>B.elem[i]) j=1;
        if(A.elem[i]<B.elem[i]) j=-1;
    }
    if(A.length>k) j=1;
    if(B.length>k) j=-1;
    if(A.length==B.length) j=0;
    return j;
}
这个答案啥意思啊  我怎么觉得它不对啊!  题目我也不知道啥意思!高手快来啊!
6 回复
#2
诸葛修勤2011-04-17 11:31
顺序表中元素是什么类型的?
#3
诸葛修勤2011-04-17 11:46
Status CompareOrderList(SqList &A,SqList &B)
{
    int i,k,j;
    k=A.length>B.length?A.length:B.length;
    for(i=0;i<k;i++){//这里肯定是乱来的    只要A B length不等 就一定会越界的   还有就是不相等的时候for就应该结束的
        if(A.elem[i]>B.elem[i]) j=1;
        if(A.elem[i]<B.elem[i]) j=-1;
    }
    if(A.length>k) j=1;
    if(B.length>k) j=-1;
    if(A.length==B.length) j=0;
    return j;
}
#4
迷糊战神no12011-04-17 17:37
题目的意思是      A,B是A
,B的子表   如   A=asdfdsfg,B=asdfwer;A=asdf的非,,,,同理B=wer;就是字符串比较了吧。你要是还不明白就看看字符串的比较原理。。。。
#5
诸葛修勤2011-04-17 19:48
回复 4楼 迷糊战神no1
头像蛮搞笑的
#6
hellengoodd2011-04-17 21:44
懂了哈~谢谢各位~
#7
迷糊战神no12011-04-19 19:26
回复 5楼 诸葛修勤
那是呀
1