c語言歸併兩個有序鍊錶

2021-08-27 05:12:30 字數 937 閱讀 3391

/**

歸併有序列表l1,l2到l3,使l3有序,從小到大

xxwu

*/#include

#include

#include

typedef int elemtype;

typedef struct lnode lnode, *linklist;

//初始化 尾插法 以9999退出

linklist initlisttill(linklist l);

//歸併兩個有序鍊錶l1,l2到l3,使l3有序

linklist mergelist(linklist l1, linklist l2, linklist l3);

//列印鍊錶

void printlnode(linklist l);

//初始化 尾插法 以9999退出

linklist initlisttill(linklist l)

r->next = null;

return l;

}//列印鍊錶

void printlnode(linklist l)

}//歸併兩個有序鍊錶l1,l2到l3,使l3有序

linklist mergelist(linklist l1, linklist l2, linklist l3) else

//l3尾插法

till->next = c3;

till = c3;

}while(c1)

while(c2)

till->next = null;

//釋放l1,l2

// free(l1);free(l2);

return l3;

}int main()

測試:

歸併兩個有序鍊錶

資料結構基礎 c語言版 第2版,ellis horowitz著,朱仲濤譯 4.2節,page120,習題6 令x x1,x2,xn 和y y1,y2,ym 是兩個鍊錶,按資料域的非遞減序排列。構造演算法歸併這兩個鍊錶,結果儲存在新鍊錶z中,z也按資料域的非遞減序排列。在歸併過程,表x和表y中的結點一...

兩個有序鍊錶的歸併!!!

使用遞迴方法程式設計 已經兩個鍊錶head1和head2各自有序,請把它們合併成乙個鍊錶依然有序。if 1 include include include typedef struct nodenode void creat node head node merge linklist node he...

合併兩個有序鍊錶 C

合併兩個有序鍊錶 遞迴實現 演算法思想 遞迴終止條件 若head1為空,返回head2指標 head 若head2為空,返回head1指標 head 遞迴過程 1 若head1 data head2 data head 指標應該指向head2所指向的節點,而且head next應該指向head1和h...