[查找算法]:顺序查找
python 和 golang 实现 linear_search
顺序查找:从列表的第一个元素开始,按照顺序对列表进行搜索,找到待查找的元素就返回其下标,找不到就返回None或-1
> python
def linear_search(data_list,value):
for i in range(0,len(data_list),1):
# 下标从 0 取到 len(data_list)-1
if data_list[i] == value:
return i
# 遍历完data_list仍然没有查到
return None
temp = [273,21,31,7,9,0,93,-12,3]
print("index=",linear_search(temp,-12))
# [运行结果如下]:#####################
"""
index= 7
"""
# ####################################
> golang
package main
import (
"fmt"
"os/exec"
)
func LinearSearch(DataList []int, value int) (int, error) {
for i, _ := range DataList {
if DataList[i] == value {
return i, nil
}
}
return -1, exec.ErrNotFound
}
func main() {
temp := [...]int{273, 21, 31, 7, 9, 0, 93, -12, 3}
// 使用切片在函数间进行传递,可以避免指明数组长度的繁琐操作
num, _ := LinearSearch(temp[:], -12)
fmt.Printf("index=%d", num)
}
/* [运行结果如下]:########################
index=7
####################################### */
本文来自博客园,作者:渝北小站,转载请注明原文链接:https://www.cnblogs.com/timgunt/p/15785915.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通