#include "SequenceList.c" // 復用順序表基本操作
void Union(SqList &A, SqList B) {
for (int i = 0; i < B.length; ++i) {
ElemType e = B.elem[i];
if (LocateElem(A, e) == 0) { // A 中不存在
ListInsert(A, A.length + 1, e);
}
}
}
將「查找元素」、「插入元素」封裝為獨立函數,Union 僅負責協調流程,提升可讀性與維護性。這也是結構化程式設計的典型體現。
int main() {
SqList A, B; InitList(A); InitList(B);
int a[] = {1,2,3}, b[] = {3,4,5};
for (int x : a) ListInsert(A, A.length+1, x);
for (int x : b) ListInsert(B, B.length+1, x);
Union(A, B);
ListTraverse(A); // 輸出: 1 2 3 4 5
return 0;
}

Union.h:介面宣告Union.c:實作Union-main.c:測試主程式本範例展示如何在順序表 ADT 基礎上構建更高層邏輯,適合教學與工程參考。