24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2586  |  回复: 1

joansky

金虫 (小有名气)

[求助] C语言数组中插入元素问题

清华大学数据结构C语言版第二种的第一个算法,给定两个线性表A和B,要求一个新的合集A,将B中A没有的元素插入A。 比如I

nput: A={1, 3, 5, 7, 9}, B={2, 4, 6, 9}

Output: A={1, 2, 3, 4, 5, 6, 7, 9}

我写了一个代码 但是在46行有segmentation fault. 没有想出来为什么。

=====================================================

#include
#define MAXSIZE 100
typedef int ElemType;
typedef struct{
        ElemType data[MAXSIZE];
        int length;
}SqList;

void CreateList(SqList *L, int n){
        L->length=n;
        printf("\ninput %d data: ", n);
        int i;
        for(i=0;i                 scanf("%d", &L->data);
}       

void PrintList(SqList *L){
        int i;
        int n;
        n=L->length;
        printf("\noutput %d data: ", n);
        for(i=0;i                 printf("%d", L->data);
}


ElemType GetElem(SqList *L,int i){
        return L->data;
}

int LocateElem(SqList *L, ElemType e){
        int i;
        for(i=1;i<=L->length;i++){
                if(L->data==e){
                   return i;
                   break;
                }
                else return 0;
        }
}
       
void ListInsert(SqList *L, ElemType e){
        int n = L->length;
        n++;
        L->length=n;       
        L->data[n]=e;                                               // Segmentation Fault Here !!!
}
       

void merge(SqList *La, SqList *Lb){
        int i;
        ElemType e;
        for(i=0;ilength;i++){
                e=GetElem(&Lb,i);       
                if(!LocateElem(&La,e))
                        ListInsert(&La,e);
        }
}

int main(){
        SqList La,Lb;
        int n1,n2;
        printf("\nInput number for La: ";
        scanf("%d",&n1);
        CreateList(&La,n1);
        printf("\nInput number for Lb: ";
        scanf("%d",&n2);
        CreateList(&Lb,n2);
        printf("Here is La:\n";
        PrintList(&La);
        printf("Here is Lb:\n";
        PrintList(&Lb);
        merge(&La,&Lb);
        printf("Here is merged list:\n";
        PrintList(&La);
       
        return 0;
}
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

joansky

金虫 (小有名气)

jjdg: 欢迎常来! 2011-07-18 14:50:06
不好意思,谢谢大家,我的问题已经解决了
2楼2011-07-18 05:45:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 joansky 的主题更新
信息提示
请填处理意见