在一个自定义数组中,寻找一个目标数,若不存在,显示不在数组中。Python
时间: 2023-12-31 10:06:36 浏览: 67
下面是一个自定义数组类的实现,包括寻找目标数的方法:
```python
class MyArray:
def __init__(self, capacity):
self.capacity = capacity
self.arr = [0] * capacity
self.size = 0
def insert(self, index, value):
if index < 0 or index > self.size:
raise Exception("数组越界")
if self.size >= self.capacity:
self.resize()
for i in range(self.size-1, index-1, -1):
self.arr[i+1] = self.arr[i]
self.arr[index] = value
self.size += 1
def delete(self, index):
if index < 0 or index >= self.size:
raise Exception("数组越界")
for i in range(index, self.size-1):
self.arr[i] = self.arr[i+1]
self.size -= 1
def resize(self):
self.capacity *= 2
new_arr = [0] * self.capacity
for i in range(self.size):
new_arr[i] = self.arr[i]
self.arr = new_arr
def find(self, target):
for i in range(self.size):
if self.arr[i] == target:
return i
return -1
# 示例
my_arr = MyArray(5)
my_arr.insert(0, 2)
my_arr.insert(1, 5)
my_arr.insert(2, 8)
my_arr.insert(3, 10)
my_arr.insert(4, 13)
target = 10
result = my_arr.find(target)
if result != -1:
print("目标数在数组中的位置为", result)
else:
print("目标数不在数组中")
```
该程序首先定义了一个自定义数组类 `MyArray`,包括插入、删除、扩容、查找等方法。然后创建了一个自定义数组 `my_arr`,并插入了一些数据。最后,调用 `find` 方法查找目标数,并根据返回值判断是否找到目标数。
阅读全文