升序与降序

本文介绍了如何在C++中使用标准库函数`sort()`对数组进行排序,包括默认升序排序和自定义排序规则的实现。通过实例展示了如何根据需要进行降序排列。
摘要由CSDN通过智能技术生成

前提

排序 
库函数 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]);

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值