빠른 정렬 :
빠른 정렬은 정렬 알고리즘에서 가장 일반적으로 사용되는 알고리즘이며 시간 복잡도는 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]<<" ";
}
작업 결과 :