1. 程式人生 > >演算法設計題2.16~2.18-線性表-第2章-《資料結構習題集》-嚴蔚敏吳偉民版

演算法設計題2.16~2.18-線性表-第2章-《資料結構習題集》-嚴蔚敏吳偉民版

習題集完整原始碼部分

第2章  線性表

                                                                                         ——《資料結構習題集》-嚴蔚敏.吳偉民版

演算法設計題

本原始碼所在目錄:資料結構\▼配套習題解析\▼02 線性表\▼習題測試文件-02\

2.16❸  已知指標la和lb分別指向兩個無頭結點單鏈表中的首元結點。下列演算法是從表la中刪除自第i個元素起共len個元素後,將它們插入到表lb中的第j個元素之前。試問此演算法是否正確?如有錯,則請改正之。

    Status DeleteAndInsertSub (LinkedList la, LinkedList lb, 

int i, int j, int len)

    {

        if(i<0|| j<0 || len<0)

            return  INFEASIBLE;

        p=la;    k=1;

        while(k<i)

        {

            p=p->next;

            k++;

        }

        q=p;

        while(k<=len)

        {

            q=q->next;

            k++;

        }

        s=lb;

        k=1;

        while(k<j)

        {

            s=s->next;

            k++;

        }

        s->next=p;

        q->next=s->next;

        return  OK;

    }//DeleteAndInsertSub

2.17❷  試寫一演算法,在無頭結點的動態單鏈表上實現線性表操作INSERT(L, i, b),並和在帶頭結點的動態單鏈表上實現相同操作的演算法進行比較。

2.18❷  同2.17題要求。試寫一演算法,實現線性表操作DELETE(L, i)。



       更多章節持續更新中...微笑