• lua 冒泡排序的几种写法


      1 function bubbleSort(t)
      2     local index = 0
      3     for i=1, #t - 1 do
      4         for j = 1, #t - i do
      5             if t[j] > t[j + 1] then
      6                 t[j],t[j + 1] = t[j+1], t[j]
      7             end
      8             index = index + 1
      9         end 
     10     end
     11     print("---------bubbleSort---------------------")
     12     print("循环次数:" .. index)
     13     print("-----------------------------------------")
     14     for k,v in pairs(t) do
     15         print(k,v)
     16     end
     17     print("---------bubbleSort---------------------")
     18     print("            ")
     19     print("            ")
     20 end
     21 
     22 function bubbleSort2(t)
     23     local index = 0
     24     for i = 1, #t - 1 do
     25         local isSorder = true
     26         for j = 1, #t - 1 do
     27             if t[j] > t[j + 1] then
     28                  t[j],t[j + 1] = t[j+1], t[j]
     29                  isSorder = false
     30             end
     31             index = index + 1
     32         end
     33         if isSorder then
     34             break
     35         end
     36     end
     37     print("---------bubbleSort2---------------------")
     38     print("循环次数:" .. index)
     39     print("-----------------------------------------")
     40     for k,v in pairs(t) do
     41         print(k,v)
     42     end
     43     print("---------bubbleSort2---------------------")
     44     print("            ")
     45     print("            ")
     46 end
     47 
     48 function bubbleSort3(t)
     49     local index = 0
     50     local isSorderLength = #t - 1
     51     for i = 1, #t - 1 do
     52         local isSorder = true
     53         for j = 1, isSorderLength do
     54             if t[j] > t[j + 1] then
     55                  t[j],t[j + 1] = t[j+1], t[j]
     56                  isSorder = false
     57                  isSorderLength = j
     58             end
     59             index = index + 1
     60         end
     61 
     62         if isSorder then
     63             break
     64         end
     65     end
     66     print("---------bubbleSort3---------------------")
     67     print("循环次数:" .. index)
     68     print("-----------------------------------------")
     69     for k,v in pairs(t) do
     70         print(k,v)
     71     end
     72     print("---------bubbleSort3---------------------")
     73     print("            ")
     74     print("            ")
     75 end
     76 
     77 function bubbleSort4(t)
     78     local index = 0
     79     for i = 1, #t - 1 do
     80         for j = #t - 1, i, -1 do
     81             if t[j] > t[j + 1] then
     82                  t[j],t[j + 1] = t[j+1], t[j]
     83             end
     84             index = index + 1
     85         end
     86     end
     87     print("---------bubbleSort4---------------------")
     88     print("循环次数:" .. index)
     89     print("-----------------------------------------")
     90     for k,v in pairs(t) do
     91         print(k,v)
     92     end
     93     print("---------bubbleSort4---------------------")
     94     print("            ")
     95     print("            ")
     96 end
     97 
     98 function bubbleSort5(t)
     99     local index = 0
    100     for i = 1, #t - 1 do
    101         local isSorder = true
    102         for j = #t - 1, i, -1 do
    103             if t[j] > t[j + 1] then
    104                  t[j],t[j + 1] = t[j+1], t[j]
    105                  isSorder = false
    106             end
    107             index = index + 1
    108         end
    109         if isSorder then
    110             break
    111         end
    112     end
    113     print("---------bubbleSort5---------------------")
    114     print("循环次数:" .. index)
    115     print("-----------------------------------------")
    116     for k,v in pairs(t) do
    117         print(k,v)
    118     end
    119     print("---------bubbleSort5---------------------")
    120     print("            ")
    121     print("            ")
    122 end
    123 
    124 function bubbleSort6(t)
    125     local index = 0
    126     for i = 1, #t - 1 do
    127         local isSorder = true
    128         local isSorderLength = #t - 1
    129         for j = isSorderLength, i, -1 do
    130             if t[j] > t[j + 1] then
    131                  t[j],t[j + 1] = t[j+1], t[j]
    132                  isSorder = false
    133                  isSorderLength = j
    134             end
    135             index = index + 1
    136         end
    137         if isSorder then
    138             break
    139         end
    140     end
    141     print("---------bubbleSort6---------------------")
    142     print("循环次数:" .. index)
    143     print("-----------------------------------------")
    144     for k,v in pairs(t) do
    145         print(k,v)
    146     end
    147     print("---------bubbleSort6---------------------")
    148     print("            ")
    149     print("            ")
    150 end
    151 
    152 function bubbleSort7(t)
    153     local index = 0
    154     for i = 1, #t / 2 do
    155         local isSorder = true
    156         for j = i, #t - i do
    157             if t[j] > t[j + 1] then
    158                  t[j],t[j + 1] = t[j+1], t[j]
    159                  isSorder = false
    160             end
    161             index = index + 1
    162         end
    163         if isSorder then
    164             break
    165         end
    166 
    167         isSorder = true
    168         for j = #t - i, i+1, -1 do
    169             if t[j] < t[j - 1] then
    170                  t[j],t[j - 1] = t[j-1], t[j]
    171                  isSorder = false
    172             end
    173             index = index + 1
    174         end
    175         if isSorder then
    176             break
    177         end
    178     end
    179     print("---------bubbleSort7---------------------")
    180     print("循环次数:" .. index)
    181     print("-----------------------------------------")
    182     for k,v in pairs(t) do
    183         print(k,v)
    184     end
    185     print("---------bubbleSort7---------------------")
    186     print("            ")
    187     print("            ")
    188 end
    189  
    190 local tab = {9, 8, 7, 6, 5, 4, 3, 2, 1}
    191 local tab = {2, 3,4,5,6,7,1,8}
    192 local tab = {1, 2, 1,3,32, 2, 7, 6, 5}
    193 bubbleSort(tab)
    194 bubbleSort2(tab)
    195 bubbleSort3(tab)
    196 bubbleSort4(tab)
    197 bubbleSort5(tab)
    198 bubbleSort6(tab)
    199 bubbleSort7(tab)
  • 相关阅读:
    最全Pycharm教程
    Django系列:(1)PyCharm下创建并运行我们的第一个Django工程
    用pycharm+django开发web项目
    python在不同层级目录import模块的方法
    Android GetTimeAgo(时间戳转换几天前,几分钟前,刚刚等)
    Fresco简单的使用—SimpleDraweeView
    django常用命令
    Android 浅谈 RxAndroid + Retrofit + Databinding
    云计算之路-阿里云上:负载均衡从七层换成四层后的意外发现团队
    云计算之路-阿里云上:因为网络问题,物理机换回虚拟机团队
  • 原文地址:https://www.cnblogs.com/xihabiji/p/12536991.html
Copyright © 2020-2023  润新知