001 线性查找

文章目录

迭代器

lua 复制代码
-- 定义一个名为 linearSearch 的函数,它接受两个参数:data(一个数组)和 target(一个目标值)  
function linearSearch(data, target)  
    -- 使用 for 循环遍历数组 data,ipairs 是一个迭代器,用于在数组中遍历键值对  
    for i, v in ipairs(data) do  
        -- 如果当前遍历到的值 v 等于目标值 target  
        if v == target then  
            -- 找到目标值,返回其索引 i  
            return i  
        end  
    end  
    -- 如果循环结束都没有找到目标值,返回 -1  
    return -1  
end  
  
-- 定义一个数组 data,包含一系列整数  
data = {13, 66, 54, 73, 23, 55, 18}  
-- 定义一个变量 target,赋值为 66  
target = 66  
  
-- 调用 linearSearch 函数,并将结果赋值给变量 res  
res = linearSearch(data, target)  
-- 打印变量 res 的值  
print(res)

Lua 脚本语法的关键点:

函数定义:

function 关键字用于定义函数。

函数名后面跟着括号,括号内是函数的参数列表。

函数体跟在参数列表之后,用 end 关键字结束。

for 循环:

Lua 中的 for 循环可以配合迭代器使用,例如 ipairs 用于遍历数组的索引和值。

for i, v in ipairs(data) do 表示对数组 data 进行遍历,i 是索引,v 是对应的值。

条件语句:

if 语句用于进行条件判断。

如果条件为真(true),则执行 then 后面的代码块。

可以使用 else 和 elseif 来处理其他情况。

return 语句:

用于从函数中返回值。

如果函数中没有 return 语句,或者 return 后面没有跟任何值,则默认返回 nil。

数组和变量:

Lua 中的数组使用花括号 {} 定义,数组元素之间用逗号分隔。

变量不需要提前声明,直接使用赋值语句即可创建和初始化。

打印输出:

使用 print 函数来打印输出变量的值或者文本信息。

主程序

lua 复制代码
function linearSearch(data, target)  
    for i = 1, #data do  -- 这是一个for循环,用于遍历数组data。#data获取数组data的长度。Lua中的数组索引从1开始,所以循环变量i从1开始,到数组的长度结束。
        if data[i] == target then  
            return i 
        end  
    end  
    return -1  
end  
  
-- Main program  
do  
    local data = {13, 66, 54, 73, 23, 55, 18}  
    local target = 66  
  
    local res = linearSearch(data, target)  
    print(res)  
end

Lua 数组的索引是从1开始的,也就是说它们的索引从1开始计数。

Lua我们定义了一个全局函数linearSearch来执行搜索。

在Lua中,我们使用一个匿名的do ... end块来包含主程序逻辑。这个块在脚本运行时会被立即执行。

在Lua中,局部变量是使用local关键字声明的。这有助于避免污染全局命名空间。

Lua中的print函数用于输出结果

相关推荐
UWA3 天前
Unreal开发痛点破解!GOT Online新功能:Lua全监控 + LLM内存可视化!
开发语言·lua·unreal
1nullptr3 天前
Lua迭代器与泛型for
lua
半夏知半秋3 天前
skynet debug_console控制台中debug指令使用
服务器·开发语言·学习·lua
h7997104 天前
redis lua脚本(go)调用教程以及debug调试
redis·golang·lua
玩转C语言和数据结构6 天前
Lua下载和安装教程(附安装包)
lua·lua下载·lua安装教程·lua下载和安装教程·lua安装包
Arva .7 天前
HTTP Client
网络协议·http·lua
YouEmbedded7 天前
解码查找算法与哈希表
数据结构·算法·二分查找·散列表·散列查找·线性查找
爱吃小胖橘8 天前
Lua语法(2)
开发语言·unity·lua
ellis19708 天前
LuaC API知识点汇总
unity·lua
爱吃小胖橘11 天前
Lua语法
开发语言·unity·lua