C++sort関数付きの使い方と例


C++sort()関数の使い方
最近c++標準ライブラリという本を読んで、たくさん勉強になりました.その中のC++sort()関数の使い方を書いて、皆さんと共有しましょう.
(一)なぜc++標準ライブラリのソート関数を使うのか
Sort()関数はc++のソート方法の一つであり、この方法を学んだことで、c++を勉強して以来使用してきたバブルソートとソートの選択による実行効率が高くないという問題も解消されました.ソート方法は速いソート方法に似ているため、時間の複雑さはn*log 2(n)で、実行効率が高い!
(二)c++標準ライブラリのソート関数の使用方法
I)Sort関数はヘッダファイルが#includeのc++標準ライブラリに含まれており,呼び出し標準ライブラリのソート方法はその内部がどのように実現されているかを知る必要はなく,我々が望む結果さえあればよい.
II)Sort関数には3つのパラメータがあります.
(1)最初はソートする配列の先頭アドレスである.
(2)2番目が終了アドレス(最後のソート先アドレス)
(3)3番目のパラメータはソートの方法であり、大きいものから小さいものまで、小さいものから大きいものまで、3番目のパラメータを書かなくてもよい.この場合、デフォルトのソート方法は小さいものから大きいものまでソートされる.
Sort関数はテンプレートを使用します.
Sort(start,end,,並べ替え方法)
具体的にsort()関数を用いて配列内の10個の数を並べ替えて説明します!
例1:sort関数には3番目のパラメータがなく、小さいものから大きいものまで実現される.
#include
#include
using namespace std;
int main()
{
 int a[10]={9,6,3,8,5,2,7,4,1,0};
 for(int i=0;i<10;i++)
 cout<
例2:
上の例では、大きいものから小さいものへのソートを実現するにはどうすればいいのか疑問に思っています.
これは前文で述べたようにsort()関数の3番目のパラメータで文章を作る必要があります.プログラムに大きいものから小さいものまでソートするように教えてください.
比較関数complare()を追加する必要があります.この関数の実装プロセスはこうです.
bool complare(int a,int b)
{
 return a>b;
}

これがプログラムに大きいものから小さいものへのソートを実現する方法を教えてくれます!
#include
#include
using namespace std;
bool complare(int a,int b)
{
 return a>b;
}
int main()
{
 int a[10]={9,6,3,8,5,2,7,4,1,0};
 for(int i=0;i<10;i++)
 cout<
例3:
上記の例1、2の方法では、大きいものから小さいものへのソートが実現されていますが、このようにするのは少し面倒です.プログラムにどのようなソートを行うかを教える関数を自分で書く必要があるので、c++標準ライブラリの強力な機能はこのような面倒を完全に解決することができます.
Sort関数の3番目のパラメータは、このような文でプログラムにソートの原則を伝えることができます.
less()/小さい頃から大きい順に並べ替える
greater()/大から小へ並べ替え
この例を組み合わせると、任意のソートの原則を完了することができます.
#include
#include
using namespace std;
int main()
{
 int a[10]={9,6,3,8,5,2,7,4,1,0};
 for(int i=0;i<10;i++)
 cout<());
for(int i=0;i<10;i++)
cout<#include
using namespace std;
int main()
{
int a[10]={9,6,3,8,5,2,7,4,1,0};
for(int i=0;i<10;i++)
cout<());
for(int i=0;i<10;i++)
cout<
例4:sort関数を用いて文字の並べ替えも実現でき,並べ替え方法は大同小異であるが,プログラムの例を示す
#include
#include
using namespace std;
int main()
{
 char a[11]="asdfghjklk";
 for(int i=0;i<10;i++)
 cout<());
for(int i=0;i<10;i++)
cout<