排序算法
1.sort函数用于C++中,对给定区间所有元素进行排序,默认为升序,也可进行降序排序。
2.sort函数进行排序的时间复杂度为n*log2n,比冒泡排序之类的排序算法效率更高。
3.sort函数包含在头文件为#include <algorithm>
的C++标准库中
sort格式
sort(开始地址,结束地址的下一位)
假设输入位置从1开始,到n结束:
sort(a+1,a+n+1)
现在假设输入位置从0开始,到n-1结束:
sort(a,a+n)
计数排序
a[x]++//计x的出现次数
计算每个数的出现次数。从小到大枚举所有数的范围,
练习
#include <bits/stdc++.h>
using namespace std;
int a[100010];
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
sort(a,a+n);
for(int i=0;i<n;i++)
{
cout<<a[i]<<" ";
}
return 0;
}
#include <iostream>
using namespace std;
int a[1010]={0};
int main(int argc, char** argv) {
int n,x;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>x;
a[x]++;
}
for(int i=0;i<=1000;i++)
{
for(int j=1;j<=a[i];j++)
{
cout<<i<<" ";
}
}
return 0;
}