algorithm的各类函数运用

本文档展示了五个C++程序,涉及max/min、交换变量、数组反转、字符串反转、排列组合等基本和进阶算法。通过实例学习了`<algorithm>`库的使用,涵盖了排序、查找、数据结构操作和函数式编程技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include<stdio.h>
#include<algorithm>
using namespace std;
int main(){
    int x=1,y=-2;
    printf("%d %d\n",max(x,y),min(x,y));
    printf("%d %d\n",abs(x),abs(y));
    return 0;
}
#include<stdio.h>
#include<algorithm>
using namespace std;
int main(){
    int x=1,y=2;
    swap(x,y);
    printf("%d %d\n",x,y);
    return 0;
}
#include<stdio.h>
#include<algorithm>
using namespace std;
int main(){
    int a[10]={10,11,12,14,15,13};
    reverse(a,a+4);
    for(int i=0;i<6;i++){
        printf("%d",a[i]);
    }
    return 0;
}
#include<stdio.h>
#include<string>
#include<algorithm>
using namespace std;
int main(){
    string str="abcdefghi";
    reverse(str.begin()+2,str.begin()+6);
    for(int i=0;i<str.length();i++){
        printf("%c",str[i]);
    }
    return 0;
}
#include<stdio.h>
#include<algorithm>
using namespace std;
int main(){
    int a[10]={1,2,3};
    do{
        printf("%d%d%d\n",a[0],a[1],a[2]);
    }while(next_permutation(a,a+3));
    return 0;
}
#include<stdio.h>
#include<algorithm>
using namespace std;
int main(){
    int a[5]={1,2,3,4,6};
    fill(a,a+5,344);
    for(int i=0;i<5;i++){
        printf("%d",a[i]);
    }
    return 0;
}
#include<stdio.h>
#include<algorithm>
using namespace std;
int main(){
    int a[6]={9,5,3,5,7,8};
    sort(a,a+4);
    for(int i=0;i<6;i++){
        printf("%d",a[i]);
    }
    printf("\n");
    sort(a,a+6);
    for(int i=0;i<6;i++){
        printf("%d",a[i]);
    }
    return 0;
}
#include<stdio.h>
#include<algorithm>
using namespace std;
int main(){
    double a[]={2,4.5,4.3};
    sort(a,a+3);
    for(int i=0;i<3;i++){
        printf("%.lf",a[i]);
    }
    return 0;
}
#include<stdio.h>
#include<algorithm>
using namespace std;
int main(){
    char c[]={'E','R','T','Y'};
    sort(c,c+4);
    for(int i=0;i<4;i++){
        printf("%c",c[i]);
    }
    return 0;
}
#include<stdio.h>
#include<algorithm>
using namespace std;
int main(){
    int a[5]={4,3,4,7};
    sort(a,a+4);
    for(int i=0;i<4;i++){
        printf("%d",a[i]);
    }
    return 0;
}
#include<stdio.h>
#include<algorithm>
using namespace std;
bool cmp(int a,int b){
    return a>b;
}
int main(){
    int a[]={4,5,7,8};
    sort(a,a+4,cmp);
    for(int i=0;i<4;i++){
        printf("%d",a[i]);
    }
    return 0;
}
#include<stdio.h>
#include<algorithm>
using namespace std;
bool cmp(double a,double b){
    return a>b;
}
int main(){
    double a[]={1.4,5.7,6};
    sort(a,a+3,cmp);
    for(int i=0;i<3;i++){
        printf("%.lf",a[i]);
    }
    return 0;
}
#include<stdio.h>
#include<algorithm>
using namespace std;
bool cmp(char a,char b){
    return a>b;
}
int main(){
    char c[]={'T','R','E','W'};
    sort(c,c+4,cmp);
    for(int i=0;i<4;i++){
        printf("%c",c[i]);
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

超翔之逸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值