ソート関数のいくつかの基本的な使用法

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にお答えします。

おすすめ

転載: blog.csdn.net/mmmjtt/article/details/114182805