第四周專案7 迴圈雙鏈表應用

2021-07-23 16:38:24 字數 1511 閱讀 7767

問題及**:

/* 

* 檔名稱: ysx.cpp

* 作 者:於蘇顯

* 完成日期:2023年 10月 13日

* 版 本 號:v1.0

* * 問題描述: 設非空線性表ha和hb都用帶頭節點的迴圈雙鏈表表示。設計乙個演算法insert(ha,hb,i)。其功能是:i=0時,將線性表hb插入到線性表ha的最前面;當i>0時,將線性表hb插入到線性表ha中第i個節點的後面;當i大於等於線性表ha的長度時,將線性表hb插入到線性表ha的最後面。   

* 輸入描述:無

* 程式輸出:

*/

#include #include #include "cdlinklist.h"

void insert(cdlinklist *&ha, cdlinklist *&hb,int i)

else if (inext;

while (jnext;

}q=p->next; //q指向*p結點的後繼結點/

p->next=hb->next; //hb->prior指向hb的最後乙個結點

hb->next->prior=p;

hb->prior->next=q;

q->prior=hb->prior;

}else //將hb鏈到ha之後

free(hb); //釋放hb頭結點

}int main()

; initlist(ha);

createlistr(ha, ha, 8);

elemtype hb= ;

initlist(hb);

createlistf(hb, hb, 5);

printf("ha: ");

displist(ha);

printf("hb: ");

displist(hb);

insert(ha, hb, 0); // i 可修改為其他值,進行多次測試

printf("new ha: ");

displist(ha);

destroylist(ha);

return 0;

}

執行結果:

i=0時:

i>=length(la)時:

知識點總結:考察迴圈雙鏈表的運用。

學習心得:對於在迴圈雙鏈表頭節點和尾節點進行插入時腦子還是比較混亂,要多練習。 

第四周專案5 迴圈雙鏈表應用

檔名稱 s.cpp 作 者 佟興鋒 完成日期 2015年10月9日 版 本 號 v1.0 問題描述 設非空線性表ha和hb都用帶頭節點的迴圈雙鏈表表示。設計乙個演算法insert ha,hb,i 其功能是 i 0時,將線性表hb插入到線性表ha的最前面 當i 0時,將線性表hb插入到線性表ha中第i...

第四周專案5迴圈雙鏈表應用

檔名稱 專案5.cpp 作 者 彭子竹 完成日期 2015年10月12日 版 本 號 v1.0 問題描述 設非空線性表ha和hb都用帶頭節點的迴圈雙鏈表表示。設計乙個演算法insert ha,hb,i 其功能是 i 0時,將線性表hb插入到線性表ha的最前面 當i 0時,將線性表hb插入到 線性表h...

第四周專案5 迴圈雙鏈表應用

檔名稱 idea.cpp 完成日期 2015年11月06日 include include include cdlinklist.h void insert cdlinklist ha,cdlinklist hb,int i if i 0 將hb的所有資料結點插入到ha的頭結點和第1個資料結點之間 ...