、挿入ソート(挿入ソート)
ボイド insertion_sort(ベクトル< INT >&数){ int型の長さ= number.size()。 もし(長さ<= 1)のリターン; 用(int型のインデックス= 1、インデックス<長さ; ++ インデックス){ int型の TEMP = 番号[インデックス]。 int型 =比較インデックスを。 以下のために(;>比較0 &&温度を<数[コンペア1 ]; compare-- ) 番号[比較] =番号[コンペア1 ]。 番号[比較]= 温度; } }
第二に、クイックソート(クイックソート)
ボイド quick_sort(ベクトル< INT >&数、int型開始、int型エンド){ 場合(開始> =終了)リターン。 INT半ば=(開始端+)/ 2、ピボット= 番号[中間]。 スワップ(番号[中間]、番号[END])。 int型の温度は=始まる- 1を。 以下のために(int型 ; I <エンド私は++ iは=始める) 場合(番号[I] <= ピボット) スワップ(番号[ ++ TEMP]、番号[I])。 スワップ(番号[ ++ TEMP]、番号[END])。 quick_sort(番号は、一時を開始します- 1 )。 quick_sort(番号、TEMP + 1 、エンド)。 }
サンプルコード:
書式#include <iostreamの> の#include <ベクトル> 使用して名前空間はstdを、空 insertion_sort(ベクトル< 整数 >&); 空 quick_sort(ベクトル< 整数 >&、int型、int型); INT メイン() { ベクトル < INT >番号= { 34、8、64、51、21、1、23、45、90、47、35、70、 134、152、251、540 }。 // 1 8 21 23 34 35 45 47 51 64 70 90 134 152 251 540 // insertion_sort(番号) // quick_sort(数字、0、numbers.size() - 1 )。
以下のための(int型NUM:数字) はcout << NUM << ' ' ; リターン 0 ; }