最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)的合并兩個有序數(shù)組算法示例

 更新時間:2019年03月04日 11:51:26   作者:echo6120  
這篇文章主要介紹了Python實(shí)現(xiàn)的合并兩個有序數(shù)組算法,涉及Python針對數(shù)組的遍歷、計(jì)算、追加等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Python實(shí)現(xiàn)的合并兩個有序數(shù)組算法。分享給大家供大家參考,具體如下:

思路

按位循環(huán)比較兩個數(shù)組,較小元素的放入新數(shù)組,下標(biāo)加一(注意,較大元素對應(yīng)的下標(biāo)不加一),直到某一個下標(biāo)超過數(shù)組長度時退出循環(huán)

假設(shè)兩個源數(shù)組的長度不一樣,那么假設(shè)其中短的數(shù)組用完了,即全部放入到新數(shù)組中去了,那么長數(shù)組中剩下的那一段就可以直接拿來放入到新數(shù)組中去了。

#coding=utf-8
#合并數(shù)據(jù)
test1 = [1,2,5,7,9]
test2=[2,4,6,8,10,11,34,55]
def mergetest(test1,test2):
  result =[]
  len1=len(test1)
  len2=len(test2)
  i=0
  j=0
  while i<len1 and j<len2:
    if test1[i]<=test2[j]:
      result.append(test1[i])
      i+=1
    else:
      result.append(test2[j])
      j+=1
  if i<len1:
    for z in range(i+1,len1):
      result.append(test1[z])
  elif j<len2:
    for z in range(j+1,len2):
      result.append(test2[z])
  return result
print mergetest(test1,test2)

運(yùn)行結(jié)果:

[1, 2, 2, 4, 5, 6, 7, 8, 9, 11, 34, 55]

add:鏈表情況下合并

def merge_link(link1,link2):
  head = single_link(0)
  first = head
  while link1!=None and link2!=None:
    if l1.val<=l2.val:
      head.next =l1
      l1=l1.next
    else:
      head.next=l2
      l2=l2.next
    head=head.next
  if l1!=None:
    head.next=l1
  elif l2!=None:
    head.next=lw
  return first.next

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論

丰顺县| 合江县| 广平县| 太湖县| 东台市| 建宁县| 瑞丽市| 樟树市| 通渭县| 华蓥市| 康保县| 尼玛县| 寿光市| 彝良县| 辽宁省| 于都县| 揭西县| 吉林省| 烟台市| 礼泉县| 冕宁县| 禹州市| 阿拉善左旗| 四会市| 固镇县| 炎陵县| 台山市| 定边县| 景洪市| 泸溪县| 长治市| 建阳市| 武鸣县| 洱源县| 陆川县| 乌拉特中旗| 龙海市| 淮安市| 禄丰县| 荆州市| 营山县|