我是007 发表于 2018-8-15 11:09:42

[硕.Love Python] InsertionSort(插入排序)

def insertionSort(a):  
    for i in xrange(1, len(a)):
  
      t = a
  
      for j in xrange(i, 0, -1):
  
            if a <= t:
  
                break
  
            a = a
  
      else:
  
            j = 0
  
      a = t
  

  
def binaryInsertionSort(a):
  
    for i in xrange(1, len(a)):
  
      l, r, t = 0, i - 1, a
  
      while l <= r:
  
            m = (l + r) / 2
  
            if t < a:
  
                r = m - 1
  
            else:
  
                l = m + 1
  

  
      for j in xrange(i - 1, l - 1, -1):
  
            a = a
  

  
      a = t
  

  
if __name__ == '__main__':
  
    from random import shuffle
  
    data = range(100)
  

  
    shuffle(data)
  
    print data
  
    insertionSort(data)
  
    print data
  

  
    shuffle(data)
  
    print data
  
    binaryInsertionSort(data)
  
    print data
页: [1]
查看完整版本: [硕.Love Python] InsertionSort(插入排序)