整列アルゴリズム例 
 昇順  降順 
選んで並べる (昇順)
   [2][5][3][8][7] 最初の鉛筆の並び
先頭から全組合わせで比較、短い鉛筆を探す
先頭の鉛筆 [2][5][3][8][7]
  1. [2][5]を比較 → 交換しない
  2. [2][3]を比較 → 交換しない
  3. [2][8]を比較 → 交換しない
  4. [2][7]を比較 → 交換しない
2番目の鉛筆 [2][5][3][8][7]
[2][3][5][8][7]
  1. [5][3]を比較 → 交換
  2. [3][8]を比較 → 交換しない
  3. [3][7]を比較 → 交換しない
3番目の鉛筆 [2][3][5][8][7] 
  1. [5][8]を比較 → 交換しない
  2. [5][7]を比較 → 交換しない
4番目の鉛筆 [2][3][5][8][7] 
[2][3][5][7][8]
  1. [8][7]を比較 → 交換
    [2][3][5][7][8]  並び替え終わり
選んで並べる (降順)
   [2][5][3][8][7] 最初の鉛筆の並び
先頭から全組合わせで比較、長い鉛筆を探す
先頭の鉛筆 [2][5][3][8][7]
[5][2][3][8][7]

[8][2][3][5][7]
  1. [2][5]を比較 → 交換
  2. [5][3]を比較 → 交換しない
  3. [5][8]を比較 → 交換
  4. [8][7]を比較 → 交換しない
2番目の鉛筆 [8][2][3][5][7]
[8][3][2][5][7]
[8][5][2][3][7]
[8][7][2][3][5]
  1. [2][3]を比較 → 交換
  2. [3][5]を比較 → 交換
  3. [5][7]を比較 → 交換
3番目の鉛筆 [8][7][2][3][5]
[8][7][3][2][5]
[8][7][5][2][3]
  1. [2][3]を比較 → 交換
  2. [3][5]を比較 → 交換
4番目の鉛筆 [8][7][5][2][3]
[8][7][5][3][2]
  1. [2][3]を比較 → 交換
  [8][7][5][3][2]  並び替え終わり
  探して並べる (昇順)
   [2][5][3][8][7] 最初の鉛筆の並び
先頭よりの隣と比較、短い鉛筆を先頭よりに
2番目の鉛筆 [2][5][3][8][7]
  1. [2][5]を比較 → 交換しない
3番目の鉛筆 [2][5][3][8][7]
[2][3][5][8][7]
  1. [5][3]を比較 → 交換
  2. [2][3]を比較 → 交換しない
4番目の鉛筆 [2][3][5][8][7]
  1. [5][8]を比較 → 交換しない
  2. [3][8]を比較 → 交換しない
  3. [2][8]を比較 → 交換しない
5番目の鉛筆 [2][3][5][8][7]
[2][3][5][7][8]
  1. [8][7]を比較 → 交換
  2. [5][7]を比較 → 交換しない
  3. [3][7]を比較 → 交換しない
  4. [2][7]を比較 → 交換しない
   [2][3][5][7][8]  並び替え終わり
  探して並べる (降順)
   [2][5][3][8][7] 最初の鉛筆の並び
先頭よりの隣と比較、長い鉛筆を先頭よりに
2番目の鉛筆 [2][5][3][8][7]
[5][2][3][8][7]
  1. [2][5]を比較 → 交換
3番目の鉛筆 [5][2][3][8][7]
[5][3][2][8][7]
  1. [2][3]を比較 → 交換
  2. [5][3]を比較 → 交換しない
4番目の鉛筆 [5][3][2][8][7] 
[5][3][8][2][7]
[5][8][3][2][7]
[8][5][3][2][7]
  1. [2][8]を比較 → 交換
  2. [3][8]を比較 → 交換
  3. [5][8]を比較 → 交換
5番目の鉛筆 [8][5][3][2][7
[8][5][3][7][2] 
[8][5][7][3][2]
[8][7][5][3][2]
  1. [2][7]を比較 → 交換
  2. [3][7]を比較 → 交換
  3. [5][7]を比較 → 交換
  4. [8][7]を比較 → 交換しない
   [8][7][5][3][2]  並び替え終わり
分けて並べる (昇順)
   [2][5][3][8][7] 最初の鉛筆の並び
枢軸(ピボット)を末尾とする
左から枢軸より≦長い鉛筆を探す
右から枢軸より>短い鉛筆を探す
   






[7][8]
[2][5][3][8][7]


[2][5][3][8][7]


[2][5][3]|[7]|[8]
[2][5][3]
  1. [2][5][3][8]各順に[7]と比較
    [7]≦[8]→[8]が該当
  2. [8][3][5][2]各(逆)順に[7]と比較
    [7]>[3]→[3]が該当
  3. [3][8]が交差→探索修了
  4. [8]と枢軸[7]交換
  5. [7]で分割
  6. 分割された[7][8]は要素1→確定
[7][8]






 [2][3][5][7][8]
[2][5][3]
[2][5][3]

[2][5][3]

[2][3][5]
[2]|[3]|[5]
  1. [2][5]各順に[3]と比較
    [3]≦[5]→[5]が該当
  2. [5][2]各(逆)順に[3]と比較
    [3]>[2]→[2]が該当
  3. [2][5]が交差→探索修了
  4. [5]と枢軸[3]交換
  5. [3]で分割
  6. 分割された[2][3][5]は要素1→確定
[2][3][5][7][8]    並び替え終わり
分けて並べる (降順)
   [2][5][3][8][7] 最初の鉛筆の並び
枢軸(ピボット)を末尾とする
左から枢軸より>短い鉛筆を探す
右から枢軸より≦長い鉛筆を探す
    [2][5][3][8][7]

[2][5][3][8][7]

[8][5][3][2][7]
  1. [2][5][3][8]各順に[7]と比較
    [7]>[2]→[2]が該当
  2. [8][3][5][2]各(逆)順に[7]と比較
    [7]≦[8]→[8]が該当
  3. [2][8]交換
   






[8][7] 
[8][5][3][2][7]


[8][5][3][2][7]

[8][7][3][2][5]
[8]|[7]|[3][2][5]
[3][2][5]
  1. [8][5][3][2]各順に[7]と比較
    [7]>[5]→[5]が該当
  2. [2][3][5][8]各(逆)順に[7]と比較
    [7]≦[8]→[8]が該当するが
  3. [8][5]が交差→探索修了
  4. [5]と枢軸[7]交換
  5. [7]で分割
  6. 分割された[8][7]は要素1→確定
[8][7]






[8][7][5]
[3][2][5]




[5]
[2][3]
[5]|[2][3]
[2][3]
  1. [3][2]各順に[5]と比較
    [5]>[3]→[3]が該当
  2. [3][2]各(逆)順に[5]と比較
    [5]≦[要素]無く
    該当なし→探索修了
  3. [3]と枢軸[5]交換
  4. [5]で分割
  5. 分割された[5]は要素1→確定
[8][7][5]






[8][7][5][3][2]
[2][3]




[3][2]
  1. [2]と[3]比較
    [3]>[2]→[2]が該当
  2. [2]と[3]と比較
    [3]≦[要素]無く
    該当なし→探索修了
  3. [2]と枢軸[3]交換
  4. [3]で分割
  5. 分割された[3][2]は要素1→確定
[8][7][5][3][2]    並び替え終わり
 
 交ぜて並べる (昇順) 
   [2][5][3][8][7] 最初の鉛筆の並び
分割し短い順に配列
分割群を比較、短い鉛筆から新配列
   [2][5] [3][8][7]
  1. 配列を分割する
    [3] [8][7]
  1. 必要なら更に小さい群に分割する
  [3] [7][8]
  1. 各分割列の鉛筆を短い順にする
[3] [3] [7][8]
  1. 配列の先頭から短い方を取り出して新しい配列を作成する
[3][7][8]   [7][8]
  1. 残りはそのまま新しい配列の後に並べる
  [2][5] [3][7][8] 
  1. 各分割列の鉛筆を短い順にする
[2]
[2][3]
[2][3][5]
[2][5]
[5]
[5]
[3][7][8]
[3][7][8]
[7][8]
  1. 配列の先頭から短い方を取り出して新しい配列を作成する
[2][3][5][7][8]   [7][8]
  1. 残りはそのまま新しい配列の後に並べる
[2][3][5][7][8]   並べ替え終わり
 交ぜて並べる (降順) 
   [2][5][3][8][7] 最初の鉛筆の並び
分割し長い順に配列
分割群を比較、長い鉛筆から新配列
   [2][5] [3][8][7]
  1. 配列を分割する
        [3] [8][7]
  1. 必要なら更に小さい群に分割する
   [3] [8][7]
  1. 各分割列の鉛筆を長い順にする
[8]
[8][7]
[3]
[3]
[8][7]
[7]
  1. 配列の先頭から長い方を取り出して新しい配列を作成する
[8][7][3]   [3]  
  1. 残りはそのまま新しい配列の後に並べる
  [5][2] [8][7][3] 
  1. 各分割列の鉛筆を長い順にする
[8]
[8][7]
[8][7][5]
[8][7][5][3]
[5][2]
[5][2]
[5][2]
[2]
[8][7][3]
[7][3]
[3]
[3]
  1. 配列の先頭から長い方を取り出して新しい配列を作成する
[8][7][5][3] [2]  
  1. 残りはそのまま新しい配列の後に並べる
[8][7][5][3][2]   並べ替え終わり
 
 エイヤッと並べる (昇順)
     [2][5][3][8][7] 最初の鉛筆の並び
短い鉛筆から選んで配列
   [2][5][3][8][7]
  1. 一番短い鉛筆を選ぶ
 


[2]



[2]
[5][3][8][7]
  1. [2][5]を比較→[2]を選択
  2. [2][3]を比較→[2]を選択
  3. [2][8]を比較→[2]を選択
  4. [2][7]を比較→[2]を選択
   [5][3][8][7]
  1. 同様にして残群から一番短い鉛筆を選ぶ


[2][3] 


[5][3][8][7]
  1. [5][3]を比較→[3]を選択
  2. [3][8]を比較→[3]を選択
  3. [3][7]を比較→[3]を選択
[2][3][5] [5][8][7]
  1. 同様にして残群から一番短い鉛筆を選ぶ
[2][3][5][7] [8][7]
  1. 残群から一番短い鉛筆を選ぶ
[2][3][5][7][8] [8]
  1. 残群から一番短い鉛筆を選ぶ
[2][3][5][7][8]   並び替え終わり
  エイヤッと並べる (降順)
   [2][5][3][8][7] 最初の鉛筆の並び
長い鉛筆から選んで配列
   [2][5][3][8][7]
  1. 一番長い鉛筆を選ぶ



[8]



[2][5][3][8][7]
  1. [2][5]を比較→[5]を選択
  2. [5][3]を比較→[5]を選択
  3. [5][8]を比較→[8]を選択
  4. [8][7]を比較→[8]を選択
    
  1. 同様にして残群から一番長い鉛筆を選ぶ


[8][7]


[2][5][3][7]
  1. [2][5]を比較→[5]を選択
  2. [5][3]を比較→[5]を選択
  3. [5][7]を比較→[7]を選択
[8][7][5] [2][5][3]
  1. 同様にして残群から一番長い鉛筆を選ぶ
[8][7][5][3] [2][3]
  1. 残群から一番長い鉛筆を選ぶ
[8][7][5][3][2] [2]
  1. 残群から一番長い鉛筆を選ぶ
[8][7][5][3][2]   並び替え終わり