zoukankan      html  css  js  c++  java
  • lua 快速排序

    
    
    function partion(arr, left, right)
         local tmp = arr[left]        
         while left < right do    
            while left < right and arr[right] >= tmp do
               right = right - 1
            end            
            
            if left < right then
                arr[left] = arr[right]
                left = left + 1
            end            
            
            while left < right and arr[left] <= tmp do
               left = left + 1            
            end    
            
            if left < right then
                arr[right] = arr[left]                
                right = right - 1
            end                
        end 
    
        arr[left] = tmp            
        return left
    end
    
    function qsort(arr, left, right) 
        if left < right then
            local index = partion(arr, left, right)
            qsort(arr, left, index-1)        
            qsort(arr, index + 1, right)        
        end
    end
    
    function q_sort(arr, left, right) 
        if left >= right then
            return            
        end
        
        local i = left
        local j = right
        local key = arr[left]
        
        while i < j do    
            while i < j and key <= arr[j] do
                j = j - 1
            end        
            
            arr[i] = arr[j]
            
            while i < j and key >= arr[i] do
                i = i + 1
            end
            arr[j] = arr[i]
        end    
        
        arr[i] = key
        q_sort(arr, left , i-1)
        q_sort(arr, i+1 , right)
    end
    
    function show_table(tb) 
        for i = 1, #tb, 1 do
            print(tb[i])        
        end
    end    
    
    tb = {9,8,4,5,1,2,3}
    q_sort(tb, 1, #tb)
    show_table(tb)


    当你的才华还撑不起你的野心时,那你就应该静下心来学习。
  • 相关阅读:
    19软件工程专业---调查问卷
    软件工程2020思维导图
    关于创新创业
    学习周记
    学习周记
    问卷
    思维导图
    关于创新
    哈弗曼树
    调查问卷
  • 原文地址:https://www.cnblogs.com/aceg/p/4611630.html
Copyright © 2011-2022 走看看