しかし、あまりわかりやすく解説していない本も多く、教材によって実施方法も異なります。
参考までに、最も簡単な簡単な仕分けのアイデアをここに書き留めておきます。
どの言語を使用する場合でも、この簡単なコードから簡単に分類するためのアイデアと記述方法を簡単に理解できることを願っています。
次のようにコードをコピーします。
関数 Quick_sort(リスト、開始、終了) {
if (開始 < 終了) {
var pivotpos = Partition(list, start, end); //クイックソートのベースを検索します。
Quick_sort(list, start, pivotpos - 1); // 左側をクイックソートします
Quick_sort(list, pivotpos + 1, end); // 正しいものをクイックソートします
}
}
//シーケンスを塩基数で割った 2 つの領域に調整します。一方の側は塩基数以上、もう一方の側は塩基数以下になります。
関数パーティション(リスト、開始、終了) {
var pivotpos = 開始;
var pivot = リスト[開始];
var tmp;
for(var i = start + 1; i <= end; i ++) {
if (リスト[i] < ピボット) {
tmp = リスト[i];
ピボットポス += 1;
リスト[i] = リスト[ピボットポス];
リスト[ピボット位置] = tmp;
}
}
tmp = リスト[開始];
リスト[開始] = リスト[ピボット位置];
リスト[ピボット位置] = tmp;
ピボットポスを返します。
}
var list = [8,2,4,65,2,4,7,1,9,0,2,34,12];
クイックソート(リスト, 0, リスト.長さ);