標準の関数によるソート ソートそのものを自前で実装したのは数年前にやったきり。きょう日ほとんどの言語でライブラリ内に用意されているので、よっぽどのことがない限り自作することはなくなりましたよね(プログラミングの練習問題にはよく出てきます。代入・比較・交換・繰り返しなど、プログラミングの"いろは"が詰まってますからね)。 標準C++のソート関数std::sortの使い方はとっても簡単、ソート対象となる配列/vector/dequeなどの要素列の先頭と末尾(の直後)とを引数に与えるだけで、要素a, bに対しa < bならばaがbより列の先頭に近い位置に置かれるよう(つまり昇順/小さい順)にソートされます。部分ソートstd::partial_sortや安定なソートstd::stable_sortも同様です。
![「入れ替えを行わないソート」のおはなし](https://cdn-ak-scissors.b.st-hatena.com/image/square/34f720e8790171bc6def520cbf1a1f8ed03d1ac9/height=288;version=1;width=512/https%3A%2F%2Fcodezine.jp%2Fstatic%2Fimages%2Farticle%2F9543%2F9543_t.png)