luaクイックソート

関数 SortUnit(配列、低値、高値)

    ローカル変数 = 配列[低]

    低 < 高の場合

        while array[high] >= var および high > low do

            高 = 高 - 1

        終わり

        配列[低] = 配列[高]

        while array[low] <= var および high > low do

            低 = 低 + 1

        終わり

        配列[高] = 配列[低]

    終わり

    配列[低] = var

    低く戻る

終わり

関数 QuickSort2(配列、低値、高値)

    低 >= 高の場合は終了を返します

    ローカルインデックス = SortUnit(配列、低値、高値)

    QuickSort2(配列、低位、インデックス - 1)

    QuickSort2(配列、インデックス + 1、高)

終わり

関数クイックソート(配列)

    QuickSort2(配列, 1, #配列)

終わり

ローカル t = {32,54,16,18,40,2,4,6,90,34,56,85}

クイックソート(t)

おすすめ

転載: blog.csdn.net/qq_23602395/article/details/128484240