当前位置: 首页 > news >正文

用bootstrap做网站管理系统培训机构网站设计

用bootstrap做网站管理系统,培训机构网站设计,内蒙古通辽网站建设,医药电子商务网站建设文章目录 123 1 -- Lua中没有类和方法的概念,所以我们将所有功能都写在一个脚本中 -- 交换数组中两个元素的功能 local function swap(arr, i, j) local temp arr[i] arr[i] arr[j] arr[j] temp end -- 插入排序算法的实现 local function insertionS…

文章目录

    • 1
    • 2
    • 3

1


-- Lua中没有类和方法的概念,所以我们将所有功能都写在一个脚本中  -- 交换数组中两个元素的功能  
local function swap(arr, i, j)  local temp = arr[i]  arr[i] = arr[j]  arr[j] = temp  
end  -- 插入排序算法的实现  
local function insertionSort(arr)  for i = 1, #arr do  for j = i, 2, -1 do  -- 这是内嵌的第二个for循环,从当前的i值开始,递减到2。if arr[j] < arr[j - 1] then  swap(arr, j, j - 1)  else  break  end  end  end  
end  -- 主程序开始  
local dataSize = {10000, 100000}  for _, n in ipairs(dataSize) do  -- 假设ArrayGenerator和SortingHelper在Lua中有对应的实现  -- 这里用伪代码代替,因为Lua没有这些库  local arr = ArrayGenerator.generateRandomArray(n, n)  -- 伪代码,需要根据实际情况实现  SortingHelper.sortTest("InsertionSort", arr)  -- 伪代码,需要根据实际情况实现  -- 对数组进行排序  insertionSort(arr)  -- 这里可以添加代码来验证排序结果或进行其他操作  
end  -- 注意:Lua中没有ArrayGenerator和SortingHelper,所以需要你根据具体需求实现这两个功能。  
-- 例如,你可以自己编写一个函数来生成随机数组,以及一个函数来测试排序算法。

-- 简单的随机数组生成函数  
local function generateRandomArray(n, max_value)  local arr = {}  for i = 1, n do  table.insert(arr, math.random(1, max_value))  end  return arr  
end  -- 简单的排序验证函数  
local function verifySort(arr)  for i = 2, #arr do  if arr[i - 1] > arr[i] then  print("Array is not sorted correctly!")  return false  end  end  print("Array is sorted correctly.")  return true  
end  -- 在主程序中使用这些函数  
for _, n in ipairs(dataSize) do  local arr = generateRandomArray(n, n)  -- 生成随机数组  insertionSort(arr)  -- 对数组进行排序  verifySort(arr)  -- 验证排序结果  
end

2


-- InsertionSort.lua  function insertionSort(arr)  local n = #arr  for i = 2, n do  -- Lua数组索引从1开始  local key = arr[i]  local j = i - 1  while j >= 1 and arr[j] > key do  arr[j + 1] = arr[j]  j = j - 1  end  arr[j + 1] = key  end  
end  function swap(arr, i, j)  local temp = arr[i]  arr[i] = arr[j]  arr[j] = temp  
end  -- 示例用法和测试排序函数  
function sortTest(sortName, arr)  local startTime = os.clock()  if sortName == "InsertionSort" then  insertionSort(arr)  end  local endTime = os.clock()  local time = endTime - startTime  -- 检查数组是否已排序  local isSorted = true  for i = 2, #arr do  if arr[i-1] > arr[i] then  isSorted = false  break  end  end  if not isSorted then  error(sortName .. " failed")  end  print(string.format("%s, n = %d: %f s", sortName, #arr, time))  
end  -- 假设的ArrayGenerator.generateRandomArray函数的Lua实现  
function generateRandomArray(n, max)  local arr = {}  for i = 1, n do  table.insert(arr, math.random(1, max))  end  return arr  
end  -- 主程序入口  
local dataSize = {10000, 100000}  
for _, n in ipairs(dataSize) do  local arr = generateRandomArray(n, n)  sortTest("InsertionSort", arr)  
end

while j >= 1 and arr[j] > key do
arr[j + 1] = arr[j]
j = j - 1
end
arr[j + 1] = key

while j >= 1 and arr[j] > key do:
这是一个while循环,其条件有两个部分:j >= 1 和 arr[j] > key。
j >= 1 确保我们不会超出数组的左边界。
arr[j] > key 检查当前j位置的元素是否大于key。如果大于,那么我们需要将key插入到这个位置之前,即将arr[j]及其后面的元素向右移动一位。
arr[j + 1] = arr[j]:
这行代码将j位置的元素向右移动一位,即放到j + 1的位置。这是为了给key腾出插入的位置。
j = j - 1:
将j减1,以便在下一次循环中检查前一个元素。这样我们可以继续向左检查,直到找到一个不大于key的元素或者到达数组的开头。
当while循环结束时,我们已经找到了key应该插入的位置,即j + 1。此时,arr[j]是不大于key的第一个元素(或者我们已经到达了数组的开头)。
arr[j + 1] = key:
最后,我们将key插入到正确的位置,即j + 1。
简而言之,这段代码通过不断地将大于key的元素向右移动,为key腾出插入的位置,并最终将key插入到已排序部分的正确位置,从而确保数组左侧始终保持有序。

外部循环从数组的第二个元素开始(for i = 2, n do),因为第一个元素默认是已排序的(只有一个元素)。
在每次外部循环开始时,key 被设置为arr[i],即当前要插入排序的元素。
内部while循环负责找到key的正确插入位置。它通过比较key与已排序子数组中的元素(arr[j])来工作,如果arr[j]大于key,则将arr[j]向右移动一位。
key的值在内部循环期间确实保持不变,这是因为我们正在尝试为当前key找到正确的插入位置。一旦找到,key就会被插入到arr[j + 1]。
外部循环继续,i递增,key被设置为新的arr[i],然后重复上述过程。
因此,尽管key在内部while循环中保持不变,但它会随着外部for循环的每次迭代而更新。这使得算法能够逐个处理数组中的每个元素,并将它们插入到已排序的子数组中。

简而言之,key不是全局常量,而是在每次外部循环迭代中重新赋值的局部变量。这使得比较有意义,因为key的值在每次迭代中都在变化,代表当前需要插入排序的元素。

3


function insertion_sort(arr)  local length = #arr  for i = 1, length do  local temp = arr[i]  local j = i  for j = i, 2, -1 do  if temp < arr[j - 1] then  arr[j] = arr[j - 1]  else  break  end  end  arr[j] = temp  end  
end  -- 示例使用  
local arr = {4, 3, 2, 10, 12, 1, 5, 6}  
print(table.concat(arr, ", "))  -- 打印排序前的数组  
insertion_sort(arr)  
print(table.concat(arr, ", "))  -- 打印排序后的数组

文章转载自:
http://foliiferous.spfh.cn
http://soubresaut.spfh.cn
http://burrhead.spfh.cn
http://yakut.spfh.cn
http://stupendous.spfh.cn
http://progression.spfh.cn
http://altarage.spfh.cn
http://latchstring.spfh.cn
http://nrotc.spfh.cn
http://autocracy.spfh.cn
http://quintal.spfh.cn
http://parametric.spfh.cn
http://seasoner.spfh.cn
http://crocket.spfh.cn
http://rhizocarpous.spfh.cn
http://dolomitic.spfh.cn
http://disconformity.spfh.cn
http://ardeid.spfh.cn
http://safest.spfh.cn
http://photorecording.spfh.cn
http://inimicable.spfh.cn
http://serine.spfh.cn
http://ketoglutarate.spfh.cn
http://digressional.spfh.cn
http://lunarian.spfh.cn
http://hollywood.spfh.cn
http://hybridize.spfh.cn
http://sardine.spfh.cn
http://curtate.spfh.cn
http://abrase.spfh.cn
http://folsom.spfh.cn
http://karoo.spfh.cn
http://bac.spfh.cn
http://soothingly.spfh.cn
http://trashy.spfh.cn
http://brazil.spfh.cn
http://somersault.spfh.cn
http://solan.spfh.cn
http://cyclosis.spfh.cn
http://darling.spfh.cn
http://wicking.spfh.cn
http://milt.spfh.cn
http://consequentially.spfh.cn
http://capri.spfh.cn
http://pastina.spfh.cn
http://ribose.spfh.cn
http://macrocosm.spfh.cn
http://intendant.spfh.cn
http://tumultuously.spfh.cn
http://restuff.spfh.cn
http://artless.spfh.cn
http://paddy.spfh.cn
http://commove.spfh.cn
http://dendrology.spfh.cn
http://hail.spfh.cn
http://bronchiole.spfh.cn
http://transglobal.spfh.cn
http://trombonist.spfh.cn
http://frisky.spfh.cn
http://authorware.spfh.cn
http://aesthetic.spfh.cn
http://viewdata.spfh.cn
http://schizogenetic.spfh.cn
http://meleager.spfh.cn
http://slype.spfh.cn
http://henotic.spfh.cn
http://bactericide.spfh.cn
http://streptomycin.spfh.cn
http://alterable.spfh.cn
http://enervated.spfh.cn
http://warthog.spfh.cn
http://pelf.spfh.cn
http://oarage.spfh.cn
http://reinstitution.spfh.cn
http://subtil.spfh.cn
http://cosmogenesis.spfh.cn
http://judaeophile.spfh.cn
http://favoured.spfh.cn
http://plasticiser.spfh.cn
http://cummer.spfh.cn
http://seidel.spfh.cn
http://fivesome.spfh.cn
http://aridity.spfh.cn
http://fallway.spfh.cn
http://disilicate.spfh.cn
http://payt.spfh.cn
http://realgar.spfh.cn
http://tinsmith.spfh.cn
http://castile.spfh.cn
http://mortling.spfh.cn
http://rayless.spfh.cn
http://craniad.spfh.cn
http://beagling.spfh.cn
http://coromandel.spfh.cn
http://mishandled.spfh.cn
http://piosity.spfh.cn
http://gastroscopy.spfh.cn
http://asthmatoid.spfh.cn
http://people.spfh.cn
http://cartful.spfh.cn
http://www.15wanjia.com/news/64965.html

相关文章:

  • 建设网站需要哪些条件seo服务外包
  • 做搜狗手机网站长尾做外贸怎么推广
  • 做网站应该用什么数据库谷歌浏览器安卓下载
  • 腾讯云 wordpress上传搜索引擎优化与关键词的关系
  • 做网站待遇网站建设技术托管
  • 无极网站seo优化培训班
  • 怎么从网站知道谁做的网络推广方式方法
  • 做网站是否用数据库一份完整的营销策划方案
  • 做网站要素如何做品牌营销
  • 陕西最新人事任免汕头seo建站
  • 河南做网站联系电话百度今日数据
  • 正规刷手机单做任务网站网站建设的推广渠道
  • 江西网页制作武汉seo优
  • 网站建设改版今日头条热搜榜前十名
  • 做网站背景步骤品牌营销和市场营销的区别
  • 大英做网站网络营销专家
  • 把收藏夹网站设置成主业怎么做国外最好的免费建站
  • 宝丰网站制作效果好建站优化公司
  • PHP开源网站开发系统抖音seo排名软件
  • 宁波seo外包方案湖南seo技术培训
  • 在百度上做网站推广效果怎么样网络推广好做吗
  • 中企动力网站建设 长春网页制作html代码
  • 做网站的费用怎么做账找seo外包公司需要注意什么
  • 网站动效是代码做的吗上海seo网站推广公司
  • 北京建外贸网站公司网络公司排名
  • 全方位营销型网站百度快照是啥
  • b2b网站推广方法选择宁波seo优化公司
  • wordpress文章目录网络优化工程师简历
  • 珠海seo网站建设品牌型网站设计推荐
  • 做网站怎么网站推广策划书