鱼C论坛

 找回密码
 立即注册
查看: 3140|回复: 1

大家帮我看看哪儿出问题了

[复制链接]
发表于 2014-7-21 14:40:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

//线性表:由零个或多个数据元素组成的有限序列
//线性表的顺序存储元素,用一段地址连续的存储单元依次存储线性表的数据元素
//存取、查找操作所需要的时间为O(1),插入、删除所需要的时间为O(n)
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
using namespace std;

#define MAXSIZE 20
typedef int ElemType;
typedef struct
{
        ElemType *data;
        int length;        //线性表的当前长度
        int ListSize;
}SqList;


void InitList(SqList *L)
{
        L->data=(ElemType *)malloc(MAXSIZE*sizeof(ElemType));
        if(!L->data)
                exit(0);
        L->length=0;
        L->ListSize=MAXSIZE;
}


void DestoryList(SqList *L)
{
        free(L->data);
        L->data=NULL;
        L->length=0;
        L->ListSize=0;
}


void ClearList(SqList *L)
{
        L->length=0;
}

bool ListEmpty(SqList *L)
{
        if(L->length==0)
                return true;
        else
                return false;
}


ElemType GetElem(SqList L,int i)
{
        if(L.length==0||i<1||i>L.length)
        {
                return -1;
        }
        return L.data[i-1];
}


void InsertList(SqList L,int i,ElemType e)
{
        if(L.length>=MAXSIZE)
                return;
        if(i<1||i>L.length+1)
                return;
        for(int k=L.length;k>=i;k--)
        {
                L.data[k]=L.data[k-1];
        }

        L.data[i-1]=e;
        L.length++;
}

void DeleteList(SqList L,int i,ElemType *e)
{
        if(L.length==0)
                return;
        if(i<1||i>L.length)
                return;
        *e=L.data[i-1];
        if(i<L.length)
        {
                for(int k=i;k<L.length;k++)
                        L.data[k-1]=L.data[k];
        }
        L.length--;
}

int ListLength(SqList L)
{
        return L.length;
}

int LocateElem(SqList L,ElemType e)
{
        int i;
        for(i=0;i<L.length;i++)
                if(L.data[i]==e)
                        return i;
                return 0;
}



void UnionL(SqList La,SqList Lb)
{
        ElemType e;
        int La_len,Lb_len;
        La_len=ListLength(La);

        Lb_len=ListLength(Lb);

        cout<<La_len<<" "<<Lb_len<<endl;
        for(int i=1;i<=Lb_len;i++)
        {
                e=GetElem(Lb,i);
                cout<<LocateElem(La,e)<<" "<<endl;
                if(LocateElem(La,e)==0)
                {
                       
                        InsertList(La,++La_len,e);
                }
        }

        cout<<La_len<<endl;
        for(i=1;i<=La.length;i++)
                printf("%d ",La.data[i-1]);
}



int main()
{
        SqList La,Lb;

        InitList(&La);
        InitList(&Lb);

        int i;

        printf("请给顺序线性表La中输入数据,以空格隔开:\n");
        for(i=1;i<=5;i++)
        {
                cin>>La.data[i-1];
                La.length++;
        }

        printf("请给顺序线性表Lb中输入数据,以空格隔开:\n");
        for(i=1;i<=5;i++)
        {
                cin>>Lb.data[i-1];
                Lb.length++;
        }

        UnionL(La,Lb);

        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-21 15:16:00 | 显示全部楼层
你发下错误的提示啊。这样我们怎么看啊。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-19 17:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表