c++中sort函数的使用与快速排序

快速排序:
快速排序是排序算法中最常用的算法,其时间复杂度为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++标准库中,调用标准库里的排序方法可以实现对数据的排序,但是sort函数是如何实现的,我们不用考虑!

2.sort函数的模板有三个参数:

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