Python3合并兩個有序數(shù)組的案例分析?這個問題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!
第一種思路,把兩個數(shù)組合為一個數(shù)組然后再排序,問題又回歸到冒泡和快排了,沒有用到兩個數(shù)組的有序性。(不好)
第二種思路,循環(huán)比較兩個有序數(shù)組頭位元素的大小,并把頭元素放到新數(shù)組中,從老數(shù)組中刪掉,直到其中一個數(shù)組長度為0。然后再把不為空的老數(shù)組中剩下的部分加到新數(shù)組的結(jié)尾。(好)
第二種思路的排序算法與測試代碼如下:
def merge_sort(a, b): ret = [] while len(a)>0 and len(b)>0: if a[0] <= b[0]: ret.append(a[0]) a.remove(a[0]) if a[0] >= b[0]: ret.append(b[0]) b.remove(b[0]) if len(a) == 0: ret += b if len(b) == 0: ret += a return ret if __name__ == '__main__': a = [1,3,4,6,7,78,97,190] b = [2,5,6,8,10,12,14,16,18] print(merge_sort(a, b))
分享文章:Python3合并兩個有序數(shù)組的案例分析-創(chuàng)新互聯(lián)
文章路徑:http://jinyejixie.com/article28/dpddcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、營銷型網(wǎng)站建設(shè)、網(wǎng)站改版、虛擬主機、關(guān)鍵詞優(yōu)化、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容