posts - 63, comments - 37, trackbacks - 0, articles - 0
  IT博客 :: 首页 :: 新随笔 :: 联系 ::  :: 管理

两个有序顺序表的合并

Posted on 2006-06-19 21:03 Enjoy Life 阅读(2538) 评论(1)  编辑 收藏 引用 所属分类: DS study

void MergList_Sq(SqList La, SqList Lb, SqList &Lc){

    ElemType *pa,*pb,*pc;

    int pa_length,pb_length,pc_length;

    pa_length = La.length;

    pb_length = Lb.length;

    Lc.listsize = pa_length + pb_length;

    pc = (ElemType *)malloc(listsize * sizeof(ElemType));

    if(!pc){

        printf("malloc was failed\n");

        return;

    }

    Lc.elem = pc;

    pa = La.elem;

    pb = Lb.elem;

    while(pa<=&La.elem[La.length-1]&&pb<=&Lb.elem[Lb.length-1]){

        if(*pa<=*pb)

            *pc++=*pa++;

        else

            *pc++=*pb++;

    }

    while(pa<=&La.elem[La.length-1])

        *pc++=*pa++;

    while(pb<=&Lb.elem[Lb.length-1])

        *pc++=*pb++

}//MergList_Sq

 

Feedback

# re: 两个有序顺序表的合并  回复  更多评论   

2007-03-28 15:00 by 阿瑟多幅
有五个错误
只有注册用户登录后才能发表评论。