C ++에서 정렬 기능 및 빠른 정렬 사용

빠른 정렬 :
빠른 정렬은 정렬 알고리즘에서 가장 일반적으로 사용되는 알고리즘이며 시간 복잡도는 O (nlogn)
코드입니다.

#include<iostream>
using namespace std;
int a[101],n;
void quicksort(int left,int right){
    
    
	int temp,t,i,j;
	if(left>right)
		return;
	
	temp=a[left];
	i=left;
	j=right;
	while(i!=j)
	{
    
    
		while(i<j&&a[j]>=temp)
			j--;
		while(i<j&&a[i]<=temp)
			i++;
		t=a[i];
		a[i]=a[j];
		a[j]=t;
	}
	a[left]=a[i];
	a[i]=temp;
	
	quicksort(left,i-1);
	quicksort(i+1,right);
	return;
}  
int main(){
    
    
	cout<<"请输入要排序的数字个数:"<<endl;
	cin>>n;
	cout<<"请依次输入"<<n<<"个数:"<<endl;
	for(int i=1;i<=n;i++)
	{
    
    
		cin>>a[i]; 
	 } 
	 quicksort(1,n);
	 cout<<"数字排序后为:"<<endl;
		for(int i=1;i<=n;i++)
	{
    
    
		cout<<a[i]<<" "; 
	 }  
	 
}

작업 결과 :
여기에 사진 설명 삽입

C ++
sort 함수 는 1을 사용합니다 . sort 함수 는 헤더 파일이 #include 인 C ++ 표준 라이브러리에 포함되어 있습니다 .. 표준 라이브러리의 sorting 메서드를 호출하여 데이터를 정렬 할 수 있지만 sort 함수가 구현되는 방법은 고려할 필요가 없습니다!

2. 정렬 기능의 템플릿에는 세 가지 매개 변수가 있습니다.

void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);
(1) 첫 번째 매개 변수 first : 정렬 할 배열의 시작 주소입니다.

(2) 두 번째 매개 변수 last : 끝 주소 (마지막 데이터 이후의 데이터 주소)

(3) 세 번째 매개 변수 comp는 정렬 방법입니다. 오름차순 또는 내림차순이 될 수 있습니다. 세 번째 매개 변수가 작성되지 않은 경우 기본 정렬 방법은 작은 것에서 큰 것까지입니다.

3. 예

#include<iostream>
#include<algorithm>
using namespace std;
int main(){
    
    
	int a[]={
    
    45,12,34,77,90,11,2,4,5,55};
	sort(a,a+10);
	for(int i=0;i<10;i++)
	cout<<a[i]<<" ";
} 

작업 결과 :
여기에 사진 설명 삽입

추천

출처blog.csdn.net/weixin_45780132/article/details/112856788