前提
排序
库函数 sort c++引入 sort(begin,end)
#include <algorithm>
using namespace std;
排序 输入的n个数 进行排序 ,首先输入是多少个数,再输入 待排序的n个整数
代码实现
#include <cstdio>
#include <algorithm>
using namespace std;
int main(){
int n;
int arr[101];
scanf("%d",&n);
for(int i =0;i<n;++i){
scanf("%d",&arr[i]); // &arr[i] 和 arr+i 等价
}
sort(arr,arr+n); //直接进行排序 ,指针是一个保存变量的地址;;左闭右开
//默认是升序,降序在下面这个代码框中
for(int i = 0;i<n;i++){
printf("%d",arr[i]);
}
printf("\n");
}
随心笔记
arr[0] 代表元素
arr 代表元素地址 arr+i 代表 i号元素的地址
sort(left,right) 默认是升序序列
sort(left,right,comp)
自定义排序规则
#include <cstdio>
#include <algorithm>
using namespace std;
bool comp(int lhs,int rhs){
//不发生交换的条件下返回真
if(lhs > rhs){
return true;
}else{
return false;
} // 这个时候降序排序 //精简版 替换上面这段代码 return lhs > rhs ;
}
int main(){
int arr[8];
for(int i=0;i<8;++i){
scanf("%d",&arr[i]);
}
sort(arr,arr+8,comp); //comp后面不加()
for(int i =0;i<8;++i){
printf("%d",arr[i]);
}