有一个已经排好升序的数组。从键盘输入一个数,若数组中存在此数,将其删除,如果不存在,提示“该数不存在于数组中”。。
时间: 2023-05-12 10:02:56 浏览: 38
可以使用二分查找算法来查找输入的数在数组中的位置,如果找到了就删除该数,否则提示该数不存在于数组中。以下是示例代码:
```python
def binary_search(arr, x):
low = 0
high = len(arr) - 1
while low <= high:
mid = (low + high) // 2
if arr[mid] < x:
low = mid + 1
elif arr[mid] > x:
high = mid - 1
else:
return mid
return -1
def delete_from_array(arr, x):
index = binary_search(arr, x)
if index == -1:
print("该数不存在于数组中")
else:
arr.pop(index)
print("已删除该数,删除后的数组为:", arr)
# 示例用法
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
x = int(input("请输入要删除的数:"))
delete_from_array(arr, x)
```
如果输入的数在数组中存在,就会输出删除后的数组;否则就会输出提示信息。