输入一个整数,利用顺序查找法在查找表中查找该整数是否存在。若查找成功,返回该整数在表中的位置;查找失败则返回0。
时间: 2023-12-06 10:44:34 浏览: 27
下面是一个简单的顺序查找法的实现,假设我们要查找的整数为key,查找表为array,表中元素个数为n:
```python
def sequential_search(array, n, key):
for i in range(n):
if array[i] == key:
return i+1 # 返回位置,位置从1开始计数
return 0 # 查找失败,返回0
```
其中,我们通过for循环遍历整个查找表,对于每个元素,与key进行比较,如果相等,则直接返回该元素在表中的位置。如果整个表中都没有找到与key相等的元素,则返回0,表示查找失败。
需要注意的是,上述代码中返回的位置是从1开始计数的,因为一般情况下我们习惯于从1开始计数。如果你的实际需求是从0开始计数,那么只需要将返回语句改为 return i 即可。
相关问题
.线性表的查找 (1)输入一个整数,利用顺序查找法在查找表中查找该整数是否存在。若查找成功,返回该整数在表中的位置;查找失败则返回0。 (2)输入一个整数,利用折半查找法在有序表中查找该整数是否存在。若查找
成功,返回该整数在表中的位置;查找失败则返回0。
顺序查找法的实现:
```
int Sequential_Search(int* a, int n, int key)
{
int i;
for (i = 0; i < n; i++) {
if (a[i] == key) {
return i+1; // 返回位置
}
}
return 0; // 查找失败
}
```
折半查找法的实现:
```
int Binary_Search(int* a, int n, int key)
{
int low = 0, high = n-1, mid;
while (low <= high) {
mid = (low + high) / 2;
if (a[mid] == key) {
return mid+1; // 返回位置
} else if (a[mid] > key) {
high = mid - 1;
} else {
low = mid + 1;
}
}
return 0; // 查找失败
}
```
其中,`a` 是一个指向数组的指针,`n` 是数组中元素的数量,`key` 是要查找的整数。在查找成功时,返回该整数在表中的位置;查找失败时,返回0。
创建一个10个整数的无序表,并使用顺序查找的方法在此表中查找给定的值
可以使用Python中的列表来创建一个无序表,然后使用.index()函数来按照顺序查找给定的值。例如:
my_list = [5, 8, 2, 10, 3, 1, 7, 4, 6, 9]
value_to_find = 10
index_of_value = my_list.index(value_to_find)
print(index_of_value) # 输出结果为:3
此时代码会在my_list中查找值为10的元素,并返回其索引值。本例中,my_list中的10位于第4个位置(因为Python从0开始索引),所以程序输出结果为3。