利用数组进行数据查找

1472阅读 0评论2012-02-08 wenhaoz
分类:Python/Ruby

折半查找法:针对有序数组
  1. def halfSearch(key, array, begin, end):
  2.     if begin > end:
  3.         return -1
  4.     middle = (begin + end)/2
  5.     #print begin, end,array[middle]
  6.     if array[middle] == key:
  7.         return middle
  8.     elif array[middle] > key:
  9.         return halfSearch(key, array, begin, middle-1)
  10.     else:
  11.         return halfSearch(key, array, middle+1, end)

  12. array = [-12,0,6,16,23,56,80,100,110,115]
  13. for i in array:
  14.     print halfSearch(i, array, 0, len(array)-1)
上一篇:用辗转相除法求两个正整数的最大公约数
下一篇:用python输出杨辉三角