python 不存在指針的使用,但有部分問題被稱為模擬指針問題,也可以在一定程度上使用指針。
1.數組合併
python內一維數組其實就是列表。
arr1 = [1,3,4,6,10]
arr2 = [2,5,8,11]
ind =0
ans = arr1.copy()
for i in range(0,len(arr2)):
while ind < len(arr1):
if arr2[i] <= arr1[ind]:
ans.insert(ind+i,arr2[i])
print(ans)
break
else:
ind += 1
else:
ans = ans + arr2[i:]
print(ans)
break
2.二分法
numbers = {1,3,5,7,9,11,13,15,19,55}
head = 0
tail = 0
len(numbers)
search = int(input("Enter a number to search:"))
while tail - head >1:
mid = (head+tail)//2
if search < numbers[mid]:
tail = mid
elif search > numbers[mid]:
head = mid + 1
elif serach > numbers[mid]:
ans = mid
break
else:
if search == numbers[head]:
ans = head
else:
ans = -1
print(ans)