ソートアルゴリズムはC ++で実装します

、挿入ソート(挿入ソート)

ボイド 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 >番号= { 3486451211234590473570

 



134152251540 }。
    // 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 ; }

 

おすすめ

転載: www.cnblogs.com/heifengli/p/11329465.html