1.最初に最も基本的な使用法を見てください
#include<iostream>
#include<algorithm>//sort函数的头文件
#include<vector>
using namespace std;
bool cmp(int a,int b)
{
return a>b;
}
int main()
{
int n;
cin>>n;
int a[n];
//vector<int>a(n);
for(int i=0;i<n;i++) cin>>a[i];
sort(a,a+n);//sort函数默认排序是升序的
for(int i=0;i<n;i++) cout<<a[i]<<' ';
cout<<endl;
sort(a,a+n,cmp);
for(int i=0;i<n;i++) cout<<a[i]<<' ';
cout<<endl;
return 0;
}
サンプル入力:
10
1 0 9 7 6 5 3 2 4 8
サンプル出力:
0 1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1 0
その中で、sort(a、a + n)はデフォルトのソートであり、昇順です
。sort(a、a + n、cmp)は、ソート方法を降順2に変更するcmp関数を追加します
。配列番号
#include<iostream>
#include<algorithm>//sort函数的头文件
#include<vector>
using namespace std;
bool cmp(int a,int b)
{
return a>b;
}
int main()
{
int n;
cin>>n;
//int a[n];
vector<int>a(n);
for(int i=0;i<n;i++) cin>>a[i];
cout<<endl;
sort(a.begin()+2,a.end()-2);
for(int i=0;i<n;i++) cout<<a[i]<<' ';
cout<<endl<<endl;
sort(a.begin()+2,a.end()-2,cmp);
for(int i=0;i<n;i++) cout<<a[i]<<' ';
cout<<endl<<endl;
return 0;
}
サンプル入力:
10
0 2 1 4 3 8 6 7 5 9
出力:
0 2 1 3 4 6 7 8 5 9
0 2 8 7 6 4 3 1 5 9
ここでsort(a.begin()+2,a.end()-2);
、+ 2と-2は最初の2つを示し、最後の2つはアレンジメントに参加しません。
ここで、int a[n];
vector<int>a(n);
ヘッダーファイルとここの家主も理解できないときに
使用vector<int>a(n);
するために#include<vector>
置き換えられた配列に注意してください、Cankuicankui!
ここでのcmp関数の使用法は上記と同じです。
大きな人はアドバイスを歓迎します。かわいい人がわからない場合は、q2651877067にプライベートメッセージを送信できます。QwQにお答えします。!!