ソートアルゴリズム交換アルゴリズム---

1.いくつかの基本的な関数を定義します

1つの#include <iostreamの>
 2  
3  使用して 名前空間STDを、
4  
5  ボイド _swap(INT&A、INTB)
 6  {
 7      INTの TMP = B。
8      、B = 9      、A = TMP。
10  }
 11  
12  INT )(メイン
 13  {
 14      のint [] = { 153694287 };
 15      int型 N- = はsizeof(A)/ はsizeof([ 0 ]);
 16      
。17      バブルソート(A、N-); //特定のアルゴリズム後のセクションを参照されたい
 18は     クイックソート(A、N-)
 。19      insetSort( 、N-);
 20は     シェルソート(A、N-);
 21である     SelectSort(A、N-);
 22は     ヒープソート(A、N-);
 23は、     マージ(A、N-);
 24      
25      のためにint型 I = 0を Iは、N <; ++ I 26は、     {
 27          COUT << A [I] << "     ";
28      }
 29      COUT << ENDL。
30      
31      
32      ながら1 )。
33      
34      戻り 0 ;
35 }

 

2.バブルソート

1  空隙バブルソート(INT * ARR、int型N)
 2  {
 3      のためのint型 I = 0 ; iがN <; I ++は4      {
 5          ためINT J = 0 ; J <N - I - 1、J ++ 6          {
 7              もし(ARR [J]> ARR [J + 1 ])
 8              {
 9                  _swap(ARR [J]、ARR [J + 1 ])。
10              }
 11          }
 12     }
 13 }

 

3.クイックソート

1つの int型 _part(INT * ARR、int型スタート、INT エンド)
 2  {
 3      int型 MID = スタート;
 4      ながら(スタート< エンド)
 5      {
 6          ながら(スタート<エンド&& ARR [終了]> = ARR [MID])   / / ここでARR [終了]> = ARR [中間] または[終了]をARR>同じARR [中間]効果、影響なし
7。         {
 8              - END;
 9。         }
 10      
11。         一方、(スタート<エンド&& ARR [スタート] <= ARR [MID])// ここで、[開始] <= ARR [ARR中間] またはARR [開始] <ARR [中間 ] 同様の効果、効果なし
12          {
 13              ++ 開始。
14          }
 15  
16          であれば(開始< エンド)
 17          {
 18              _swap(ARR [開始]、ARR [END])。
19          }
 20      }
 21      
22      _swap(ARR [中間] ARR、[開始])。
23      
24      リターンを開始。
25  }
 26  
27  空隙 _quickSort(int型 *のARR、int型開始、INT 端)
 28  {
 29      であれば(> =開始終了)
30      {
 31          リターン32      }
 33      
34      INTミッド= _part(ARR、開始、終了)。
35      _quickSort(ARR、開始、ミッド- 1 )。
36      _quickSort(ARR、ミッド+ 1 、エンド)。
37  }
 38  
39  空隙クイック(INT * ARR、int型N)
 40  {
 41      _quickSort(ARR、0、N- 1 )。
42 }

  クイックソートアルゴリズムは、しかし、クイックソートアルゴリズムのこの種の使用は単純ではない、クイックソートアルゴリズムを使用するために最も広く使用されている1つのアルゴリズム、ソートアルゴリズムの標準的なSTLライブラリですが、ハイブリッドアルゴリズムの様々なを使用します迅速なアルゴリズムベースをソートするアルゴリズムは、以降の章では、ゆっくりと導入されます。

 

おすすめ

転載: www.cnblogs.com/chusiyong/p/11319730.html