Python3合并兩個有序數(shù)組的案例分析?這個問題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!
創(chuàng)新互聯(lián)公司技術(shù)團隊十余年來致力于為客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站制作、品牌網(wǎng)站設(shè)計、成都全網(wǎng)營銷、搜索引擎SEO優(yōu)化等服務(wù)。經(jīng)過多年發(fā)展,公司擁有經(jīng)驗豐富的技術(shù)團隊,先后服務(wù)、推廣了成百上千家網(wǎng)站,包括各類中小企業(yè)、企事單位、高校等機構(gòu)單位。第一種思路,把兩個數(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)容