LUAは、ソート再帰的にバブルを実装します

録音---学習LUA、再帰アルゴリズムのバブルを書き込もう。

1  - 原理をバブリング:最初は第二よりも大きい場合、隣接する要素を比較し、それらの両者は交換しました。
2  
。3 TB = { 1、 - 108945、 - 90.13 }
 4 I = 1。- サイクル
5 statrIndex = 1 
。6  関数changeData(K)
 。7      IF TB [K] <TB [K + 。1 ] 次に
8          TB [K]は、TBは[K +は。1〕TB [K +を= 1。]、TB [K]
 9。     エンド
10  エンド
11  - 再帰関数バブリング
図12は、ある 関数の再帰(K)
 13は     IF K>#1 TB-I 次いで- 交換が終了し、次のサイクルの実行。サイクルiを1だけインクリメントされ、交換インデックスkは1にリセットされ
14          、I = I + 1 
15          = K 1 
16      の終了
。17      changeData(K)- 交換機能素子
18が    リターン I> =#1 TB または再帰(K + 1- 再帰的な制御は、終了条件を追加します。私は#tbと再帰(K + < 1) この表現も可能であるが
19。 エンド
20である(statrIndex)再帰; - 呼び出す関数
21で 印刷がtable.concat(TB、" "1、#Tb))- プリントキュー完了テーブル

出力:

 

 

 

TAG:ビットによる記録ビット、単純なものからは開始します。彼のような批判に、ポインティングようこそ。

おすすめ

転載: www.cnblogs.com/privateshare/p/11130051.html