python实现线性查找

线性查找又叫顺序查找,它的基本思想是从第一个记录开始,逐个比较记录的关键字,直到和给定的K值相等,则查找成功;若比较结果与文件中n个记录的关键字都不等,则查找失败。


```python
def linear_search(num_list, num):
    """
    实现线性查找
    :param num_list: 输入的数组
    :param num: 在数组中需要进行查找的数
    :return:
    """
    for i in num_list:
        if i == num:
            # num_list.index(i):表示取num_list列表中的i这个元素的索引
            print("查找的数存在,索引为%s" % num_list.index(i))
            return 1
        # # 当i是列表的最后一个元素且i不等于num,则返回-1,列表中不存在num这个数
        # elif i == num_list[-1] and i != num:
        #     print("查找的数不存在")
        #     return -1
    print("查找的数不存在")
    return -1

if __name__ == '__main__':
    while True:
        print("~~~~~~欢迎使用线性查找~~~~~~")
        num_str = input("请输入数组:")
        # 将字符串以“,”进行切割,并返回一个列表
        num_list = num_str.split(",")
        # print(num_list)
        num_list = list(map(int, num_list))  # 使用map函数对num_list的每一个元素进行操作,将其转化为Int型
        num = int(input("请输入查找的目标数:"))
        # 22,14,5,25,17,33
        # 调用linear_search函数
        result = linear_search(num_list, num)
        print("=========================")
        if result == -1:
            break

运行结果

~~~~~~欢迎使用线性查找~~~~~~
请输入数组:22,14,5,25,17,33
请输入查找的目标数:17
查找的数存在,索引为4
=========================
~~~~~~欢迎使用线性查找~~~~~~
请输入数组:
=========================
~~~~~~欢迎使用线性查找~~~~~~
请输入数组:22,14,5,25,17,33
请输入查找的目标数:66
查找的数不存在
=========================

线性查找相关请转百度百科

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐