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

刚写非递增排列 数据结构c语言版 看看对不对

liting561199 发布于 2015-10-09 18:12, 2030 次点击
程序代码:
已知    LA = (3, 5, 8, 11)   LB = (2, 6, 8, 9, 11, 15, 20)

非递增排列到新的线性表LC。
void MergeList(List La, List Lb, List &Lc)//归并La,Lb得到新的线性表Lc,Lc的数据元素也按值非递增排列;
{
    InitList(Lc);
    La_len = ListLength(La);    Lb_len = ListLength(Lb);
    i = La_len;     j = Lb_len;
    k = 0;
    while((i <= La_len) && (i >= 0) && ((j <= Lb_len) && (j >= 0)))
    {
        GetElem(La, i, ai);     GetElem(Lb, j, bj);
        if(ai <= bj)
        {
            ListInsert(Lc, ++k, ai);
            --i;
            }
        else
        {
            ListInsert(Lc, ++k, bj);
            --j;
            }
        while(i <= La_len)
        {
            GetElem(La, --i, ai);
            ListInsert(Lc, ++k, ai);
            }
        while(j <= Lb_len)
        {
            GetElem(Lb, --j, bj);
            ListInsert(Lc, ++k, bj);
            }
        }
    }//MergeList
0 回复
1