lua写的一个多源最短路径的解决方案

该博客介绍了使用Lua语言实现的Floyd算法来解决多源最短路径问题。通过TransmitManager类,包括Init、DealCFGData、CfgData2Arr等方法,初始化数据并进行路径计算。路径查找函数GetPath和最短距离计算函数GetShortDis提供从起点到终点的最短路径和距离。
摘要由CSDN通过智能技术生成

local TransmitManager = {}
local this = TransmitManager
—用lua写的一个多源最短路径解决方案,floyd算法
—初始化数据
function TransmitManager.Init()
this.m_transmitPoint = {} --处理过的数据{A点 {与A链接的点}}
this.m_array = {} --路径的二维数组
this.path = {} – 中间点
this.long64Point = 0 --默认没有激活点 (64位)
end
–处理过的数据{A点 {与A链接的点}…}
function TransmitManager.DealCFGData()
–this.m_transmitPoint = ?
end

—flody,
function TransmitManager.CfgData2Arr()
local data = this.m_transmitPoint
local count = table.count(data)
local max = 9999999
–初始化一个矩阵
for i = 1,count do
local array = {}
for j = 1, count do
if j == i then
array[j] = 0
else
if data[i] == nil or data[i].list == nil or data[i].list[j] == nil then
array[j] = max
else
array[j] = (this.PointAct(i) and thi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值