数据结构顺序表的比较算法

源码客栈 其他问答 1

将顺序表A和B中的元素逐个比较,若得到A中的某个元素大于B中的同位置元素,则A大于B,反之B大于A,若对比到最后都相等,则A等于B,此外若A中所有元素都等于B,但A元素多于B,则A大于B,反之B大于A。

回复

共2条回复 我来回复
  • 源码驿站
    这个人很懒,什么都没有留下~
    评论
    #include <stdio.h>
    struct StList 
    {
        int data[100];
        int len;
    };
    
    
    int main()
    {
        int i;
        struct StList a,b;
        a.len = 0;
        b.len = 0;
        printf("input length of list a:");
        scanf("%d",&a.len);
        printf("input data of list a:\n");
        for(i=0;i<a.len;i++)
            scanf("%d",&a.data[i]);
    
        printf("input length of list b:");
        scanf("%d",&b.len);
        printf("input data of list b:\n");
        for(i=0;i<b.len;i++)
            scanf("%d",&b.data[i]);
    
        //compare
        i = 0;
        while(1)
        {
            if(i < a.len && i<b.len)
            {
                if(a.data[i] > b.data[i])
                {
                    printf("a>b\n");
                    break;
                }else if(a.data[i]<b.data[i])
                {
                    printf("a<b\n");
                    break;
                }else
                    i++;
            }else if ( i== a.len && i <b.len)
            {
                printf("a<b\n");
                break;
            }else if(i <a.len && i == b.len)
            {
                printf("a>b\n");
                break;
            }else
            {
                printf("a=b\n");
                break;
            }
        }
        return 0;
    }
    
    评论
     解决 2
    无用
    打赏
    分享
    举报
    编辑记录
    
    技术专家团-小桥流水
    2021-12-
    
    0条评论
  • 毕设导航
    这个人很懒,什么都没有留下~
    评论
    #include <stdio.h>
    
    #define MAXSIZE 100
    typedef struct _sqlist
    {
        int data[MAXSIZE];
        int len;
    }sqlist;
    int main()
    {
        sqlist A,B;
        //略去顺序表数据输入
        int i=0;
        while(i<A.len && i<B.len)
        {
            if(A.data[i] != B.data[i])
                break;
            i++;
        }
        if(i==A.len && i==B.len)
            printf("A等于B");
        else if(i==B.len)
            printf("A大于B");
        else if(i==A.len)
            printf("A小于B");
        else if(A.data[i]>B.data[i])
            printf("A大于B");
        else
            printf("A小于B");
        //
        return 0;
    }
    
    0条评论

发表回复

登录后才能评论