java創(chuàng)建鏈表 C語言,有兩個(gè)單鏈表LA和LB,其元素均為非遞減有序排列,編寫一個(gè)算法。將他們合并成一個(gè)單鏈表LC?
C語言,有兩個(gè)單鏈表LA和LB,其元素均為非遞減有序排列,編寫一個(gè)算法。將他們合并成一個(gè)單鏈表LC?場(chǎng)景:A和B是兩個(gè)單鏈表(帶有標(biāo)題節(jié)點(diǎn)),其中的元素是遞增和有序的。設(shè)計(jì)了一種算法,根據(jù)元素值將a和
C語言,有兩個(gè)單鏈表LA和LB,其元素均為非遞減有序排列,編寫一個(gè)算法。將他們合并成一個(gè)單鏈表LC?
場(chǎng)景:A和B是兩個(gè)單鏈表(帶有標(biāo)題節(jié)點(diǎn)),其中的元素是遞增和有序的。設(shè)計(jì)了一種算法,根據(jù)元素值將a和B合并成一個(gè)非遞減的有序鏈表C。C由a和B中的節(jié)點(diǎn)組成。R思想:這里之所以是非降序排列,是因?yàn)閍和B中可能有相同的元素,為了使a和B組合后C仍然有序,我們可以從a和B中選擇較小的元素依次插入,這樣C仍然有序。當(dāng)其中一個(gè)鏈表被插入時(shí),因?yàn)槲覀冞x擇了尾部插入方法,并且因?yàn)閍和B是有序的,所以我們可以直接連接其余的節(jié)點(diǎn)。如果要將C合并成一個(gè)非遞增鏈表,只需使用頭插入法即可實(shí)現(xiàn)非遞增方式。需要注意的是,當(dāng)其中一個(gè)鏈表為空時(shí),剩余的鏈表元素不能直接連接,因?yàn)槲覀兪褂昧祟^插入方法,而鏈表AB是增量的。我們需要得到非增量鏈表,所以剩余的元素應(yīng)該繼續(xù)使用header插入方法逐個(gè)插入鏈表C中